gpt4 book ai didi

python 将 IplImage 转换为 Qimage

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:07 24 4
gpt4 key购买 nike

我正在尝试使用 openCV 处理一些视频,然后将其放入 pyqt Qimage...

我看到了一些例子,但它们都是用 C++ 编写的,我只能理解 python,

谁能帮帮我...谢谢

最佳答案

您可以使用以下代码将 numpy 数组转换为 QImage:

from PyQt4.QtGui import QImage, qRgb
import numpy as np

class NotImplementedException:
pass

gray_color_table = [qRgb(i, i, i) for i in range(256)]

def toQImage(im, copy=False):
if im is None:
return QImage()

if im.dtype == np.uint8:
if len(im.shape) == 2:
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_Indexed8)
qim.setColorTable(gray_color_table)
return qim.copy() if copy else qim

elif len(im.shape) == 3:
if im.shape[2] == 3:
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_RGB888);
return qim.copy() if copy else qim
elif im.shape[2] == 4:
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_ARGB32);
return qim.copy() if copy else qim

raise NotImplementedException

然后在调用 toQImage()

之前将 OpenCV 的 CvMat 转换为 numpy 数组
arr = numpy.asarray(mat)
qim = toQImage(arr)

另见 http://opencv.willowgarage.com/documentation/python/cookbook.html用于 OpenCV 的 CvMat 和 numpy 数组之间的转换。

关于python 将 IplImage 转换为 Qimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com