Pyqt QImage 与 np array 转换方法


Posted in Python onJune 27, 2019

项目使用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, int width, int height, int bytesPerLine, Format format) 中的bytesPerLine 参数不能省略,负责造成Qimage数据错误,显示图片不正常,此参数设置为image的width*image.channels

2、采集数据的线程为非UI线程,则在QGraphicsView中显示时不仅需要添加Item对象,并且更新显示线程需在UI线程中,否则QGraphicsView不会主动更新显示,使用信号将image放到UI线程中更新即可

3、保证在UI更新时,所需更新的image还未被销毁,由于处于不同的线程,所以image可存储于更新前不会被销毁的对象中

以上这篇Pyqt QImage 与 np array 转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python新手实现2048小游戏
Mar 31 Python
Python中的多重装饰器
Apr 11 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
简单了解python反射机制的一些知识
Jul 13 Python
3种python调用其他脚本的方法
Jan 06 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
Django重设Admin密码过程解析
Feb 10 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
python 中的命名空间,你真的了解吗?
Aug 19 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python 定义函数 返回值只取其中一个的实现
May 21 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 #Python
对python中GUI,Label和Button的实例详解
Jun 27 #Python
python 整数越界问题详解
Jun 27 #Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 #Python
python 反编译exe文件为py文件的实例代码
Jun 27 #Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 #Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 #Python
You might like
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
Javascript常考语句107条收集
2010/03/09 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
Python使用py2exe打包程序介绍
2014/11/20 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
初中生期末考试的自我评价
2013/12/17 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书