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中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
-
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): # 打开
-
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
随机推荐
- php正则表达式完全教程之精华篇
- ASP.NET动态设置页面标题的方法详解
- text-align:justify实现文本两端对齐 兼容IE
- CI(Codeigniter)的Setting增强配置类实例
- PHP基于单例模式编写PDO类的方法
- php 不能连接数据库 php error Can't connect to local MySQL server
- Android仿水波纹流量球进度条控制器
- PHP获取当前日期及本周一是几月几号的方法
- Bootstrap作品展示站点实战项目2
- 鼠标悬浮显示二级菜单效果的jquery实现
- sqlserver 用户权限管理,LINQ去除它的重复菜单项
- jQuery实现验证码功能
- jQuery EasyUI菜单与按钮详解
- 简单学习C#中的泛型方法使用
- 第1个Android应用程序 Android制作简单单页导航
- yz01.com为您提供100M免费PHP空间
- 组建分布式三层校园网
- FTTB+NAT+DHCP+pppoe+CBAC+vpn client+Authentication AAA
- js时间戳与日期格式之间相互转换
- Unity UGUI实现卡片椭圆方向滚动