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 相关文章推荐
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
python操作mysql代码总结
Jun 01 Python
python爬取微信公众号文章
Aug 31 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
python批量获取html内body内容的实例
Jan 02 Python
python自动化之Ansible的安装教程
Jun 13 Python
简单了解django缓存方式及配置
Jul 19 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
浅谈Python type的使用
Nov 19 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
python 通过文件夹导入包的操作
Jun 01 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
原生js实现日历效果
2020/03/02 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
自我鉴定思想方面
2013/10/07 职场文书
外语专业毕业生个人的自荐信
2013/11/19 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
机电专业求职信
2014/06/14 职场文书
班级文化建设标语
2014/06/23 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android
Python Pandas 删除列操作
2022/03/16 Python