您现在的位置是:首页 > 文章详情

openKylin 2.0 智能文生图,解锁无限创意!

日期:2024-10-21点击:128

随着AIPC概念产品不断落地,openKylin操作系统正在不断地嵌入AI的各种能力,为社区用户带来更智能的体验。在openKylin 2.0版本中,基于KolourPaint画图工具和VISION视觉大模型,开发实现了智能文生图功能。那么,当传统的画图应用遇上先进的AI文生图技术,会碰撞出怎样的火花呢?

01智能生成,创意无限

在openKylin 2.0版本中,画图工具利用先进的自然语言处理与深度学习技术,能够根据用户输入的文本描述,自动生成丰富多彩的图像。无论是壮丽的山水风光,还是细腻的静物描绘,只需简单的文字描述,即可解锁无限创意。

打开画图工具:

输入图像描述内容:

首次打开,在未配置模型下,会自动弹出配置模型弹窗,下面图像中已经为添加状态:

点击VISION视觉大模型选中右侧的+添加按钮,并选择模型类型,输入APIKey和APISecret:

添加后重新打开画图,并输入图像描述,点击立即生成按钮,等待生成,点击生成结果后可以在左侧编辑界面进行细化操作;

文生图功能中存在对生成图像风格选项,存在16种风格,如下:

根据不同的需求,选择对应的风格进行生成,生成界面还存在分辨率和一次生成数量的选择,每种模型支持的不一样,所显示的分辨率和生成数量也不一样;

 

生成结果部分存在本次使用的历史选项,通过切换箭头可以选择每次生成的图像数据进行查看和编辑;

画图工具本身具有多种编辑能力,支持对生成图片进行二次绘画;

同时,支持图像导出保存功能,并有多种图像文件格式选项进行选择。

 

02应用场景,简直全面

教育领域:提供直观、生动的视觉学习材料,激发学习兴趣与创造力。如以下细胞结构的生成结果:

设计行业:可借助AI快速生成概念图,加速设计流程,提高工作效率。如以下室内空间布局图的生成结果:

艺术创作:提供灵感源泉,促进传统艺术与现代科技的融合创新。如以下三维雕塑山水画的生成:

日常生活:轻松创作个性化壁纸、表情包等,装点生活,分享快乐。

03自己动手,丰衣足食

在openKylin系统中,为了更好的嵌入AI功能,系统提供了SDK的接口能力,首先需要通过终端安装实际的开发包:

 sudo apt install libkylin-ai-base-dev

安装后在代码中关联相关的PC文件和头文件:

CMakeLists.txt:

 find_package(PkgConfig REQUIRED)pkg_check_modules(AIBASE kylin-ai-base)include_directories(${AIBASE_INCLUDE_DIRS})

头文件:​​​​​​​

 #include <ai-base/modelconfig.h>#include <ai-base/vision.h>#include <kylin-ai/config.h>

调用视觉模型服务创建函数,实现创建文生图模型功能:​​​​​​​

 bool AIModeDataThread::setSessionStatus(){VisionSession session = nullptr;VisionResult ret = vision_create_session(&session);//创建视觉模型服务if (ret != VISION_SUCCESS) {qDebug()<<"创建失败VisionResult="<<ret <<"ErrorMessage:"<<vision_get_last_error_message();return false; }VisionResult initRet = vision_init_session(session);//初始化模型if (initRet != VISION_SUCCESS) {qDebug()<<"初始化失败 VisionResult="<<initRet<<"ErrorMessage:"<<vision_get_last_error_message(); return false; }return true; }

调用设置具体生成数据,如数量、风格、描述等:​​​​​​​

 /** @brief setImageGenerationDataAI服务调用函数 @return */bool setImageGenerationData() {int width = ImageSize.width();int height = ImageSize.height(); vision_set_prompt2image_number(session, ImageNum); //设置生成数量 vision_set_prompt2image_size(session, width, height); //设置生成宽高 vision_set_prompt2image_callback(session, generateImageCallback, this);//设置回调函数,用于生成的图像数据进行回调vision_set_prompt2image_style(session, ImageStyle);//设置生成风格VisionResult imageRet = vision_prompt2image_async(session, textBox.toLocal8Bit().data());//传输生成图片描述的字体if (imageRet != VISION_SUCCESS) {qDebug()<<"文字输入失败,VisionResult="<<imageRet<<"ErrorMessage:"<<vision_get_last_error_message();return false; }return true;}

文生图回调函数,在上一步设置图像数据后,用于模型返回生成的图片数据:​​​​​​​

 /** * @brief generateImageCallback * AI生成后回调函数 * @param imageData * @param userData */void AIModeDataThread::generateImageCallback(VisionImageData imageData, void* userData){qDebug()<<"AI生成回调函数: 图像长度:"<<imageData.data_size<<"图像数据:"<<imageData.data; QPixmap map;map.loadFromData(imageData.data, imageData.data_size); //QPixmap可以实现图像数据转换}

感兴趣的社区爱好者可以在openKylin中自己动手开发,代码已在https://gitee.com/openkylin中开源。​​​​​​​

04结语

在openKylin 2.0版本中,AI文生图技术的融入是对传统画图应用的一次革新。社区诚邀广大用户、开发者及艺术爱好者共同加入这场创意与技术交织的盛宴,携手共创更加多彩、智能的视觉世界。

原文链接:https://www.oschina.net/news/316955/openkylin-2-0
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章