2023年一月份跟二月份創(chuàng)建了一個PyQT5人工智能軟件開發(fā)系列的文章系列,過去的兩個月都沒怎么更新,心里一直想有時間繼續(xù)更新下去,今天又更新了一篇,基于PyQT5實現(xiàn)多線程、界面化、風(fēng)格遷移模型的實時推理。
基本設(shè)計思路
這個系列我好久沒有更新了,今天更新一篇PyQT5中如何實現(xiàn)風(fēng)格遷移模型的推理界面化與多線程支持。
參數(shù)設(shè)置選擇模型文件與數(shù)據(jù)文件地址作為輸入。 推理按鈕開發(fā)推理演示,支持視頻與圖像文件,開始推理會單獨開啟一個推理線程實現(xiàn)推理,推理結(jié)果通過信號發(fā)送到指定的槽函數(shù)處理之后更新界面,通過信號與槽機制實現(xiàn)界面線程跟推理線程相互獨立與數(shù)據(jù)共享。
模型說明
基于PyQT5與Candy風(fēng)格遷移模型實現(xiàn)一個可視化的風(fēng)格遷移界面程序,實現(xiàn)對任意視頻與圖像的Candy風(fēng)格化。這里我選取了一個輕量化的風(fēng)格遷移模型,整個模型大小只有不到2MB,模型的輸入與輸出格式與解釋截圖如下:
記住輸入圖像的通道順序是BGR、大小是720x720,然后輸出跟輸入的格式一致,但是輸出是浮點數(shù),需要轉(zhuǎn)化一下才可以正常顯示。
運行與演示 圖像輸入與風(fēng)格遷移效果:
視頻運行
應(yīng)用程序演示
最終調(diào)用應(yīng)用程序代碼,實現(xiàn)啟動與運行的界面如下
#初始化APP實例 importplatform app=QtWidgets.QApplication(sys.argv) if'Windows'==platform.system(): app.setStyle('Windows') #初始化桌面容器 main_win=QtWidgets.QMainWindow() #設(shè)置APP窗口名稱 main_win.setWindowTitle("圖像風(fēng)格遷移演示-2號高手") #初始化內(nèi)容面板 content_panel=YOLOv8InferPanel() #設(shè)置窗口大小 main_win.setMinimumSize(1280,860) main_win.setCentralWidget(content_panel) #請求顯示 main_win.show() #加載窗口并啟動App app.exec()
審核編輯:湯梓紅
-
人工智能
+關(guān)注
關(guān)注
1806文章
49019瀏覽量
249474 -
多線程
+關(guān)注
關(guān)注
0文章
279瀏覽量
20443 -
模型
+關(guān)注
關(guān)注
1文章
3521瀏覽量
50421 -
pyqt5
+關(guān)注
關(guān)注
0文章
25瀏覽量
3515
原文標(biāo)題:PyQT5+ONNXRUNTIME實現(xiàn)風(fēng)格遷移應(yīng)用
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
在全志H616核桃派開發(fā)板上進(jìn)行PyQt5的代碼編寫和運行
在全志H616核桃派開發(fā)板上部署PyQt5的信號與槽詳解
使用PyQt5自動初始化OpenVINO?環(huán)境出現(xiàn)報錯怎么解決?
【Firefly RK3399試用體驗】第二篇:PyQt5大戰(zhàn)點燈
【Firefly RK3399試用體驗】PyQt5信號檢測系統(tǒng)(結(jié)項)
利用PyQt5編輯軟件界面的簡單步驟
如何使用Python配合PyQT5模塊來開發(fā)圖形化應(yīng)用程序
魯班貓0 ubuntu20 解決python3.10安裝pyqt5
Python PyQt5工具在Windows平臺上的安裝方法
PyQt5的中文教程電子書免費下載

PyQT5+OpenCV開發(fā)的應(yīng)用如何打包發(fā)布?
PyQT5中的QPainter類支持與圖元支持實現(xiàn)圖形繪制
請問PyQT5是如何構(gòu)建YOLOv8界面應(yīng)用程序的
使用pycharm開發(fā)上位機配置pyqt5的環(huán)境

PYQT5自動化上位機開發(fā)記錄

評論