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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.