Ich schreibe ein OpenCV-Programm in Python, und irgendwann habe ich etwas wie
%Vor% Das Problem ist, dass ich feststellen muss, ob die Bilddatei korrekt gelesen wird, bevor ich fortfahre. cv2.imread
gibt False
zurück, wenn das Bild nicht geöffnet werden kann, daher denke ich an etwas wie:
Wenn das Bild nicht geöffnet wird (z. B. wenn die Datei nicht existiert), ist img
gleich None
(wie erwartet). Wenn imread
jedoch funktioniert, bricht die Bedingung:
d. Das zurückgegebene numpy.ndarray
kann nicht als boolescher Wert verwendet werden. Das Problem scheint zu sein, dass imread
bei Erfolg numpy.darray zurückgibt und andernfalls False
(boolean).
Meine bisherige Lösung beinhaltet die Verwendung von type
des zurückgegebenen Wertes wie folgt:
Aber ich habe mich gefragt: Gibt es keine schönere Lösung, näher am ersten Check if(img): #do stuff
?
Wenn Sie den Inhalt schreiben möchten, sobald die Image-Datei erstellt wurde, können Sie os.path.isfile()
verwenden, die einen bool
-Wert zurückgeben, abhängig vom Vorhandensein einer Datei im angegebenen Verzeichnis.
Sie können sich auch auf Dokumente zur detaillierten Implementierung jeder Methode und grundlegenden Bildoperationen.