前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQT5+ONNXRUNTIME实现风格迁移应用

PyQT5+ONNXRUNTIME实现风格迁移应用

作者头像
OpenCV学堂
发布2023-10-26 18:31:53
1420
发布2023-10-26 18:31:53
举报

2023年一月份跟二月份创建了一个PyQT5人工智能软件开发系列的文章系列,过去的两个月都没怎么更新,心里一直想有时间继续更新下去,今天又更新了一篇,基于PyQT5实现多线程、界面化、风格迁移模型的实时推理。

基本设计思路

这个系列我好久没有更新了,今天更新一篇PyQT5中如何实现风格迁移模型的推理界面化与多线程支持。构建如图:

参数设置选择模型文件与数据文件地址作为输入。

推理按钮开发推理演示,支持视频与图像文件,开始推理会单独开启一个推理线程实现推理,推理结果通过信号发送到指定的槽函数处理之后更新界面,通过信号与槽机制实现界面线程跟推理线程相互独立与数据共享。

模型说明

基于PyQT5与Candy风格迁移模型实现一个可视化的风格迁移界面程序,实现对任意视频与图像的Candy风格化。这里我选取了一个轻量化的风格迁移模型,整个模型大小只有不到2MB,模型的输入与输出格式与解释截图如下:

记住输入图像的通道顺序是BGR、大小是720x720,然后输出跟输入的格式一致,但是输出是浮点数,需要转化一下才可以正常显示。

运行与演示

图像输入与风格迁移效果:

视频运行

应用程序演示

最终调用应用程序代码,实现启动与运行的界面如下

代码语言:javascript
复制
# 初始化APP实例
import platform
app = QtWidgets.QApplication(sys.argv)
if 'Windows' == platform.system():
    app.setStyle('Windows')
# 初始化桌面容器
main_win = QtWidgets.QMainWindow()
# 设置APP窗口名称
main_win.setWindowTitle("图像风格迁移演示-2号高手")
# 初始化内容面板
content_panel = YOLOv8InferPanel()
# 设置窗口大小
main_win.setMinimumSize(1280, 860)
main_win.setCentralWidget(content_panel)

# 请求显示
main_win.show()
# 加载窗口并启动App
app.exec()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档