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服务器拒绝服务攻击代码
Jan 16 Python
Python查询IP地址归属完整代码
Jun 21 Python
python下10个简单实例代码
Nov 15 Python
Python语法分析之字符串格式化
Jun 13 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
Python中的self用法详解
Aug 06 Python
python实现布隆过滤器及原理解析
Dec 08 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
python如何实现DES加密
Sep 21 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
Python绘制散乱的点构成的图的方法
Apr 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微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
Python 数据结构之队列的实现
2017/01/22 Python
用Eclipse写python程序
2018/02/10 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python 实现视频 图像帧提取
2019/12/10 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
西雅图的买手店:Totokaelo
2019/10/19 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
Shell脚本如何向终端输出信息
2014/04/25 面试题
高中自我鉴定
2013/12/20 职场文书
大学生职业规划前言模板
2013/12/27 职场文书
怎样客观的做好自我评价
2013/12/28 职场文书
面试后的英文感谢信
2014/02/01 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
护士求职信
2014/07/05 职场文书
超市创业计划书
2014/09/15 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
通知函格式范文
2015/04/27 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js