QImage to Numpy Array using PySide

前端 未结 3 1195
时光说笑
时光说笑 2020-12-30 11:26

I am currently switching from PyQt to PySide.

With PyQt I converted QImage to a Numpy.Array using this code that I found on SO:

<         


        
3条回答
  •  清歌不尽
    2020-12-30 11:49

    The trick is to use QImage.constBits() as suggested by @Henry Gomersall. The code I use now is:

    def QImageToCvMat(self,incomingImage):
        '''  Converts a QImage into an opencv MAT format  '''
    
        incomingImage = incomingImage.convertToFormat(QtGui.QImage.Format.Format_RGB32)
    
        width = incomingImage.width()
        height = incomingImage.height()
    
        ptr = incomingImage.constBits()
        arr = np.array(ptr).reshape(height, width, 4)  #  Copies the data
        return arr
    

提交回复
热议问题