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中的25个隐藏特性
Mar 30 Python
简单介绍Python中的decode()方法的使用
May 18 Python
Ubuntu下安装PyV8
Mar 13 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
Python代码块及缓存机制原理详解
Dec 13 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
Python打包为exe详细教程
May 18 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
php include,include_once,require,require_once
2008/09/05 PHP
php生成略缩图代码
2012/07/16 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
总结对比php中的多种序列化
2016/08/28 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
几个javascript操作word的参考代码
2009/10/26 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
Python实现翻转数组功能示例
2018/01/12 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
大学同学聚会邀请函
2014/01/29 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
回复函范文
2015/07/14 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
mysql中整数数据类型tinyint详解
2021/12/06 MySQL