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与php实现分割文件代码
Mar 06 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
pandas的object对象转时间对象的方法
Apr 11 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
解析Python3中的Import
Oct 13 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 Python
使用pytorch实现论文中的unet网络
Jun 24 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
php自定义apk安装包实例
2014/10/20 PHP
js查错流程归纳
2012/05/04 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
js a标签点击事件
2017/03/30 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python_LDA实现方法详解
2017/10/25 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python虚拟环境完美部署教程
2019/08/06 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
介绍一下grep命令的使用
2015/06/12 面试题
给排水专业应届生求职信
2013/10/12 职场文书
创业计划书撰写原则
2014/01/25 职场文书
法学函授自我鉴定
2014/02/06 职场文书
管理标语大全
2014/06/24 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
投诉书格式范本
2015/07/02 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android
Go语言入门exec的基本使用
2022/05/20 Golang