我目前正在从 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,因为这是PyQtvoid*
支持的一部分。
我的问题是:如何将 QImage 转换为Numpy.Array
使用 PySide。
编辑:
Version Info
> Windows 7 (64Bit)
> Python 2.7
> PySide Version 1.2.1
> Qt Version 4.8.5