wake-up-neo.com

Assertionsfehler: size.width> 0 && size.height> 0 in function imshow

ich benutze OpenCV2 und Python auf Raspberry Pi. und ich bin neu mit Python und OpenCV. Ich habe versucht, ein JPEG-Bild zu lesen und das Bild anzuzeigen. Es zeigt den folgenden Fehler:

/home/pi/opencv-2.4.9/modules/highgui/src/window.cpp:269: \
  error: (-215) size.width>0 &&  size.height>0 in function imshow.

und der Code ist:

import cv2
# windows to display image
cv2.namedWindow("Image")
# read image
image = cv2.imread('home/pi/bibek/book/test_set/bbb.jpeg')
# show image
cv2.imshow("Image", image)
# exit at closing of window
cv2.waitKey(0)
cv2.destroyAllWindows()
6
Bibek Ghimire

Das Bild kann nicht geladen werden (wahrscheinlich, weil Sie den führenden / im Pfad vergessen haben). imread gibt dann None zurück. Wenn Sie None an imshow übergeben, wird versucht, ein Fenster mit der Größe 0x0 zu erstellen, was fehlschlägt.

Die schlechte Fehlerbehandlung in cv ist wahrscheinlich auf die relativ dünne Wrapper-Schicht in der C++ - Implementierung zurückzuführen (wobei das Zurückgeben von NULL im Fehlerfall eine gängige Praxis ist).

5
Krumelur

es ist der Pfad, der das Problem verursacht. Ich hatte das gleiche Problem, aber als ich den vollständigen Pfad des Bildes angegeben habe, hat es perfekt funktioniert.

3
Malware_656

Während ich Raspbian in Rpi 3 verwendete, hatte ich das gleiche Problem beim Versuch, qrcodes zu lesen. Der Fehler liegt daran, dass cv2 das Bild nicht lesen konnte. Wenn Sie ein PNG-Image verwenden, installieren Sie das PNG-Modul.

Sudo pip install pypng
1