基于PyQT5与ONNXRUNTIME实现风格迁移应用

描述

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

基本设计思路

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

 

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

模型说明

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

多线程

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

运行与演示 图像输入与风格迁移效果:

 

 

视频运行

 

应用程序演示

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

# 初始化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()
 

 

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分