В настоящее время я перехожу из PyQt в PySide.QImage to Numpy Array с использованием PySide
С PyQt я преобразовал QImage
в Numpy.Array
, используя этот код, который я нашел на SO:
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, поскольку это является частью void*
support из PyQt.
Мой вопрос: Как преобразовать QImage в Numpy.Array
с помощью PySide.
EDIT:
Version Info
> Windows 7 (64Bit)
> Python 2.7
> PySide Version 1.2.1
> Qt Version 4.8.5
PySide, похоже, не предлагает метод 'bits'. Это тоже часть PyQt? Как насчет использования ['constBits'] (http://srinikom.github.io/pyside-docs/PySide/QtGui/QImage.html#PySide.QtGui.PySide.QtGui.QImage.constBits)? –
м (не верю, что я этого не видел! Большое спасибо.Если вы отправите свой комментарий в качестве ответа, я его приму. Спасибо еще раз! – Mailerdaimon
Выполнено, но это так, чтобы ответить на вопрос? –