本文主要是介绍pyqt5 QImage QPixmap Opencv图像 相互转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1. Opencv图像 转 QImage
- 2. Opencv图像 转 QPixmap
- 3. QImage 转 Opencv图像
- 4. QPixmap 转 opencv图像
- 5. QPixmap 转 QImage
- 6. QImage 转 QPixmap
1. Opencv图像 转 QImage
def cvimage_to_qimage(cvimage): image = cv2.cvtColor(cvimage, cv2.COLOR_BGR2RGB)qimage = QImage(image.data, image.shape[1], image.shape[0], image.strides[0], QImage.Format_RGB888)return qimage
2. Opencv图像 转 QPixmap
只需要加上一行 QPixmap.fromImage(qimage)
即可
def cvimage_to_qpixmap(cvimage): image = cv2.cvtColor(cvimage, cv2.COLOR_BGR2RGB)qimage = QImage(image.data, image.shape[1], image.shape[0], image.strides[0], QImage.Format_RGB888)return QPixmap.fromImage(qimage)
3. QImage 转 Opencv图像
def qimage_to_cvimage(self, qimage):buf = qimage.constBits() # 获取图像数据的指针width, height = qimage.width(), qimage.height() # 获取图像的宽度和高度buf.setsize(qimage.byteCount()) # 设置缓冲区的大小为图像的字节数return np.array(buf).reshape(height, width, 4).copy() # 将缓冲区转换为 NumPy 数组,并重新形状为图像尺寸
4. QPixmap 转 opencv图像
只需要加上一行 qimage = qpixmap.toImage() # 转为Qimage
即可
def qpixmap_to_cvimage(self, qpixmap):qimage = qpixmap.toImage() # 转为Qimagebuf = qimage.constBits() # 获取图像数据的指针width, height = qimage.width(), qimage.height() # 获取图像的宽度和高度buf.setsize(qimage.byteCount()) # 设置缓冲区的大小为图像的字节数return np.array(buf).reshape(height, width, 4).copy() # 将缓冲区转换为 NumPy 数组,并重新形状为图像尺寸
5. QPixmap 转 QImage
qimage = qpixmap.toImage() # 转为Qimage
6. QImage 转 QPixmap
qpixmap = QPixmap.fromImage(qimage) # 转为QPixmap
这篇关于pyqt5 QImage QPixmap Opencv图像 相互转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!