Pyqt QImage 與 np array 轉(zhuǎn)換方法
項目使用Pyqt作為UI框架,使用相機線程捕捉image,并在QGraphicsView中顯示,遇到以下問題:
1、采集的數(shù)據(jù)為nparray數(shù)據(jù),需轉(zhuǎn)換為QImage 轉(zhuǎn)換代碼如下:
img=cv2.resize(src=img,dsize=None,fx=0.2,fy=0.2) img2=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) self._image = QtGui.QImage(img2[:],img2.shape[1], img2.shape[0],img2.shape[1] * 3, QtGui.QImage.Format_RGB888)
注意:QImage(uchar * data, int width, int height, int bytesPerLine, Format format) 中的bytesPerLine 參數(shù)不能省略,負責造成Qimage數(shù)據(jù)錯誤,顯示圖片不正常,此參數(shù)設置為image的width*image.channels
2、采集數(shù)據(jù)的線程為非UI線程,則在QGraphicsView中顯示時不僅需要添加Item對象,并且更新顯示線程需在UI線程中,否則QGraphicsView不會主動更新顯示,使用信號將image放到UI線程中更新即可
3、保證在UI更新時,所需更新的image還未被銷毀,由于處于不同的線程,所以image可存儲于更新前不會被銷毀的對象中
以上這篇Pyqt QImage 與 np array 轉(zhuǎn)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python來開發(fā)Markdown腳本擴展的實例分享
這篇文章主要介紹了使用Python來開發(fā)Markdown腳本擴展的實例分享,文中的示例是用來簡單地轉(zhuǎn)換文檔結(jié)構(gòu),主要為了體現(xiàn)一個思路,需要的朋友可以參考下2016-03-03
Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫讀寫
本次分享將介紹如何在Python中使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫的讀寫,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Python實現(xiàn)讀取txt文件并轉(zhuǎn)換為excel的方法示例
這篇文章主要介紹了Python實現(xiàn)讀取txt文件并轉(zhuǎn)換為excel的方法,涉及Python針對txt文件的讀取及Excel格式文件生成相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Python中內(nèi)建模塊collections如何使用
在本篇內(nèi)容里小編給大家整理的是關(guān)于Python中內(nèi)建模塊collections的用法,有需要的朋友們可以參考下。2020-05-05
Python基礎(chǔ)語言學習筆記總結(jié)(精華)
給大家分享一篇關(guān)于Python基礎(chǔ)學習內(nèi)容的學習筆記整理總結(jié)篇,里面匯集了學習Python基礎(chǔ)語言的難點和技巧,分享給大家。2017-11-11

