Pyqt QImage 与 np array 转换方法
项目使用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将txt文件读入为np.array的方法
原文件: 7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.064686,0.11635,0.68827,5.7169,7.9329,0.010264,0.003557,-0.011691,-0.57559,-0.56121, 原文件数据比较多,是一个125行,45类float数字. 代码: # -*- coding: utf-8 -*- import numpy as np def readFile(path): # 打开
-
浅谈python中np.array的shape( ,)与( ,1)的区别
如下所示: >>> import numpy as np >>> x = np.array([1, 2]) >>> y = np.array([[1],[2]]) >>> z = np.array([[1,2]]) >>> print(x.shape) (2,) >>> print(y.shape) (2, 1) >>> print(z.shape) (1, 2) x[1,2]的s
-
Pyqt QImage 与 np array 转换方法
项目使用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],img
-
Pandas实现dataframe和np.array的相互转换
网上找了半天 不是dataframe转化成array的就是array转化dataframe,所以这里给汇总一下,相互转换的python代如下: dataframe转化成array df=df.values array转化成dataframe import pandas as pd df = pd.DataFrame(df) 这样就OK了! 以上这篇Pandas实现dataframe和np.array的相互转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
浅谈numpy中np.array()与np.asarray的区别以及.tolist
array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会. 1.输入为列表时 a=[[1,2,3],[4,5,6],[7,8,9]] b=np.array(a) c=np.asarray(a) a[2]=1 print(a) print(b) print(c) 从中我们可以看出np.array与np.asarray功能是一样的,都是将输入转为矩阵格式.当输入是列表的时候,更改
-
Numpy np.array()函数使用方法指南
目录 1.Numpy ndarray对象 2.创建numpy数组 总结 1.Numpy ndarray对象 numpy ndarray对象是一个n维数组对象,ndarray只能存储一系列相同元素. #一维数组 [1,2,3,4] #shape(4,) #二维数组 [[1,2,3,4]] #shape(1,4) [[1,2,3,4], [5,6,7,8]] #shape(2,4) #三维数组 [ [[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]] ] #shape(2,
-
np.array()函数的使用方法
目录 函数调用方法: 普通用法: 进阶用法: 更高级的用法: 函数调用方法: numpy.array(object, dtype=None) 各个参数意义: object:创建的数组的对象,可以为单个值,列表,元胞等. dtype:创建数组中的数据类型. 返回值:给定对象的数组. 普通用法: import numpy as np array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print("数组array的值为: ") print(ar
-
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
前提: list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了. list和array的不同: 在进行转换之间先研究下python中list和array(np.array)的不同: 1.list是python中内置的数据类型,其中的数据的类型可以不相同,如java中List也可以不用相同的数据,但是为了格式的统一,就要用到泛型或者Arra
-
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
在用pandas包和numpy包对数据进行分析和计算时,经常用到DataFrame和array类型的数据.在对DataFrame类型的数据进行处理时,需要将其转换成array类型,是以下列出了三种转换方法. 首先导入numpy模块.pandas模块.创建一个DataFrame类型数据df import numpy as np import pandas as pd df=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}) 1.使用DataFra
-
Pyqt+matplotlib 实现实时画图案例
需求分析: 项目中根据测得的数据在界面上实时绘制 运行环境: Python 3.7 + Matplotlib 3.0.2 + PyQt 5 matplot官网给的相应的例子: import sys import time import numpy as np from matplotlib.backends.qt_compat import QtCore, QtWidgets, is_pyqt5 if is_pyqt5(): from matplotlib.backends.backend_qt
随机推荐
- Docker镜像上传到阿里云的步骤详解
- ssh项目环境搭建步骤(web项目)
- PowerShell数组结合switch语句产生的奇特效果介绍
- iOS实现APP程序内部打开APP的AppStore页面
- android 指纹识别调用实现方法及示例代码
- JS集成fckeditor及判断内容是否为空的方法
- Python ValueError: invalid literal for int() with base 10 实用解决方法
- JS打开摄像头并截图上传示例
- jQuery设置和移除文本框默认值的方法
- jQuery实现只允许输入数字和小数点的方法
- 用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
- Javascript 变量作用域 两个可能会被忽略的小特性
- C#实现的Excel文件操作类实例
- Java生成动态版验证码的方法实例
- 基于Java回顾之网络通信的应用分析
- PHP更新购物车数量(表单部分/PHP处理部分)
- 深入解读Android的Volley库的功能结构
- C#串口通讯概念及简单的实现方法
- 探索Linux内核:Kconfig的秘密
- Spring Security OAuth 个性化token的使用