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批量生成本地ip地址的方法
Mar 23 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
python实现自动更换ip的方法
May 05 Python
python去除扩展名的实例讲解
Apr 23 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
Python3实现个位数字和十位数字对调, 其乘积不变
May 03 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
Pillow图像处理库安装及使用
Apr 12 Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 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版国家代码、缩写查询函数代码
2011/08/14 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
如何离线执行php任务
2017/02/21 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
Prototype Function对象 学习
2009/07/12 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
python中二维阵列的变换实例
2014/10/09 Python
Python中的pprint折腾记
2015/01/21 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
python读取中文txt文本的方法
2018/04/12 Python
浅谈Python 递归算法指归
2019/08/22 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
毕业证丢失证明
2014/01/15 职场文书
《赶海》教学反思
2014/04/20 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis