我正在从Pyqt切换到Pyside。
使用pyqt,我使用我在SO上找到的代码将QImage转换为Numpy.Array

def convertQImageToMat(incomingImage):
    '''  Converts a QImage into an opencv MAT format  '''

    incomingImage = incomingImage.convertToFormat(4)

    width = incomingImage.width()
    height = incomingImage.height()

    ptr = incomingImage.bits()
    ptr.setsize(incomingImage.byteCount())
    arr = np.array(ptr).reshape(height, width, 4)  #  Copies the data
    return arr

但是,ptr.setsize(incomingImage.byteCount())不适用于PySide,因为这是Pyqt的void* support的一部分。
我的问题是:如何使用pyside将qimage转换为Numpy.Array
编辑:
Version Info
> Windows 7 (64Bit)
> Python 2.7
> PySide Version 1.2.1
> Qt Version 4.8.5

最佳答案

Pyside似乎没有提供bits方法。使用constBits获取数组指针如何?

09-13 13:51