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实现问号表达式(?)的方法
Nov 27 Python
python获取当前日期和时间的方法
Apr 30 Python
详解详解Python中writelines()方法的使用
May 25 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
详解Python time库的使用
Oct 10 Python
python绘制BA无标度网络示例代码
Nov 21 Python
Python中无限循环需要什么条件
May 27 Python
python中tab键是什么意思
Jun 18 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Python序列化模块JSON与Pickle
Jun 05 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表单提交与$_POST实例分析
2015/01/26 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
Javascript中this的用法详解
2014/09/22 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
Three.js快速入门教程
2016/09/09 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
遗传算法python版
2018/03/19 Python
python版本的仿windows计划任务工具
2018/04/30 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
Python对excel的基本操作方法
2021/02/18 Python
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
MySQL面试题目集锦
2016/04/14 面试题
高级护理实习生自荐信
2013/09/28 职场文书
法学函授自我鉴定
2014/02/06 职场文书
大学生党员自我批评
2014/02/14 职场文书
五分钟演讲稿
2014/04/30 职场文书
党员民主评议自我评价
2014/10/20 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS