2017-07-10 2 views
0

I pixmap haben:Konvertieren PyQt5 QPixmap numpy ndarray

pixmap = self._screen.grabWindow(0, 
           self._x, self._y, 
           self._width, self._height) 

Ich möchte OpenCV-Format konvertieren es. Ich habe versucht, es zu konvertieren ndarray numpy als here beschrieben, aber ich habe Fehler sip.voidptr object has an unknown size

Gibt es eine Möglichkeit numpy Array (gleiche Format wie cv2.VideoCapture lesen Methode zurückgibt) zu bekommen?

+0

was _SCREEN ist? – eyllanesc

+0

QtWidgets.QApplication.primaryScreen() – ingvar

+0

Verwenden Sie die Funktion qt_image_to_array? – eyllanesc

Antwort

0

Ich habe numpy Array mit diesem Code:

channels_count = 4 
pixmap = self._screen.grabWindow(0, self._x, self._y, self._width, self._height) 
image = pixmap.toImage() 
s = image.bits().asstring(self._width * self._height * channels_count) 
arr = np.fromstring(s, dtype=np.uint8).reshape((self._height, self._width, channels_count)) 
Verwandte Themen