Pyqt QImage 与 np array 转换方法
项目使用Pyqt作为UI框架,使用相机线程捕捉image,并在QGraphicsView中显示,遇到以下问题:
1、采集的数据为nparray数据,需转换为QImage转换代码如下:
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,intwidth,intheight,intbytesPerLine,Formatformat)中的bytesPerLine参数不能省略,负责造成Qimage数据错误,显示图片不正常,此参数设置为image的width*image.channels
2、采集数据的线程为非UI线程,则在QGraphicsView中显示时不仅需要添加Item对象,并且更新显示线程需在UI线程中,否则QGraphicsView不会主动更新显示,使用信号将image放到UI线程中更新即可
3、保证在UI更新时,所需更新的image还未被销毁,由于处于不同的线程,所以image可存储于更新前不会被销毁的对象中
以上这篇PyqtQImage与nparray转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西