OpenCV imshow python mit raspi

OP #7369001
Lesenswert?

Hallo,

ich versuche, folgende Kombination zum Laufen zu bringen: Raspberry Pi 3 mit Raspian (aktuelle version) python mit opencv in VS Code, um Bildverarbeitung anzuwenden Das ganz soll remote per SSH von einem Rechner im Netz erfolgen.

Remotverbindung etc funktioniert alles, habe die OPEN CV wie folgt installiert / eingebunden: https://singleboardblog.com/install-python-opencv-on-raspberry-pi/

Das Problem ist, dass ich mit einem einfachen Testprogramm, die imshow Funktion nicht verwenden kann:

in einem einfach test.py verwende ich folgende zeilen

1
import cv2
2
img = cv2.imread("/home/danielferstner/Desktop/cat.jpg")
3
cv2.imshow("Testimage",img)
4
cv2.waitKey(0)

Wenn ich Debugging starte, komme ich über die zweite zeile, das bild wird also in "img" eingelesen; ich sehe auch die Matrixinhalte in den lokalen Variablen...

Aber in Zeile 3 bei der imshow methode gibt es dann ein Problem: Fehlermeldung siehe Anhang.

Woran könnte das liegen? Ich habe die fertigen binaries von openCV eingebunden / installiert... Hat hier jemand eine Idee, es wäre natürlich schön wenn man die ImShow Funktion verwenden könnte...

Danke!

Angehängte Dateien:
#7369394
Lesenswert?

Kaj G. schrieb:

Daniel F. schrieb:

bedeutet das, dass ich die open CV nun mit Cmake selber "bauen" muss?

Ja, genau das.

Hm, ich weiß ja nicht... wenn er nicht eines der "-headless"-Pakete installiert hat, sollte imshow() enthalten sein. Vielleicht ist es einen ersten Versuch wert, die in der Fehlermeldung genannten Bibliotheken libgtk2.0-dev und pkg-config zu installieren.

OP #7369453
Lesenswert?

Habe es jetzt nach Recherchen über einen Umweg mit matplotlib versucht (offensichtlich funktioniert CV2.imshow() nicht, wenn man remote per SSH arbeitet...

Nach der Installation des Packages matplotlib verwende ich nun folgenden Code in dem Python Skript:

1
import matplotlib.pyplot as plt
2
import cv2
3
img = cv2.imread("/home/dharrich/Desktop/cat.jpg")
4

5
imgRGB = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
6

7
plt.imshow(imgRGB)
8
plt.show()

Ich bekomme jetzt keinen Fehler mehr beim ausführen bzw debuggen, es scheint also korrekt installiert und auch eingebunden zu sein. Allerdings gibt es keine Ausgabe des Bildes, es passiert einfach "nichts".

Hat hiermit jemand Erfahrung?

Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren