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动态监控日志内容的示例
Feb 16 Python
python判断、获取一张图片主色调的2个实例
Apr 10 Python
Python中使用select模块实现非阻塞的IO
Feb 03 Python
python psutil库安装教程
Mar 19 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
python__name__原理及用法详解
Nov 02 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 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
安装APACHE
2007/01/15 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
手写一个python迭代器过程详解
2019/08/27 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
如何用Django处理gzip数据流
2021/01/29 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
室内设计专业个人的自我评价
2013/12/18 职场文书
毕业实习评语
2014/02/10 职场文书
党员公开承诺事项
2014/03/25 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
2015年调度员工作总结
2015/04/30 职场文书
2015年推普周活动方案
2015/05/06 职场文书
英雄儿女观后感
2015/06/09 职场文书