cv2 Programm funktioniert, trotzdem Fehlermeldungen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JanaSophie
User
Beiträge: 14
Registriert: Dienstag 7. Januar 2020, 17:08

Liebe alle hier,

ich benutze PyCharm und habe dieses Beispielprogramm, um ein Bild anzuzeigen:

Code: Alles auswählen

import cv2


cv2.imshow(
    'das steht im Bilderrahmen',
    cv2.imread('pferd.jpg', cv2.IMREAD_UNCHANGED))

cv2.waitKey(0)
print('fertig')
Das funkioniert auch, es steht "fertig" da mit Fehler 0, aber es steht ganz oft diese Fehlermeldung in der Ausgabe:

QObject::moveToThread: Current thread (0x190f960) is not the object's thread (0x1ae3ce0).
Cannot move to target thread (0x190f960)

Hab ich was falsch gemacht / wen ja, wie geht es richtig?
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@JanaSophie: Was passiert wenn Du das Programm ausserhalb der IDE von einer Konsole aus startest?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
JanaSophie
User
Beiträge: 14
Registriert: Dienstag 7. Januar 2020, 17:08

.. dann stehen diese Meldungen in der Konsole, Bild wird aber angezeigt.
Ist das bei Euch auch so, oder nur bei mir??
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das wird dann ein Fehler in cv2 sein. Denn das ist im highgui qt Port - da hast du mit deinen 3 Zeilen Code keinen Einfluss drauf. Google nach der Fehlermeldung & schau, ob’s da schon einen Bugtracker-Eintrag gibt. Wenn nicht, könntest du einen erstellen. Allerdings nur, wenn du auch die neueste Version von opencv benutzt - sonst wird da nix draus.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Das liegt daran, dass Du cv2 nicht sauber finalisierst, sondern das Programm einfach abbrichst. Es fehlt ein

Code: Alles auswählen

cv2.destroyAllWindows()
am Ende.
JanaSophie
User
Beiträge: 14
Registriert: Dienstag 7. Januar 2020, 17:08

cv2.destroyAllWindows()

ändert nichts, gleiche Meldungen. Könnte mal jemand probieren, ob das bei ihm auch so ist? Welches Bild, ist egal, kommt immer..
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Benutze VSCode und es klappt alles, auch ohne cv2.destroyAllWindows()
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@Jankie: warum glaubst Du, dass das irgend etwas an dem Problem ändern sollte?
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Glaube ich nicht, aber JanaSophie hat halt gefragt ob das mal einer testen kann ob der Fehler auch auftritt.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Jankie: Lies den Beitrag von Dir auf den Sirius3 geantwortet hat noch mal: Der klingt wie die Aufforderung das zu tun, nicht wie eine Beschreibung von dem was Du gemacht hast. Ich vermute mal da sollte eigentlich ein ”Ich” am Anfang des Satzes stehen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Oh ja tut mir Leid, habs übersehen, ja da hab ich ein "Ich" vergessen.
JanaSophie
User
Beiträge: 14
Registriert: Dienstag 7. Januar 2020, 17:08

Also es wäre echt lieb, wenn jemand diesen kurzen Quelltext mal kopieren und probieren könnte (ob das bei ihm auch angezeigt wird) - ich würde das ja eigentlich ignorieren, aber evtl. stimmt ja mit meiner holprigen cv2-Installation was nicht..?
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das kann sein - wenn man es googelt wird empfohlen opencv neu zu installieren.
JanaSophie
User
Beiträge: 14
Registriert: Dienstag 7. Januar 2020, 17:08

__deets__ hat geschrieben: Freitag 24. Januar 2020, 19:57 Das kann sein - wenn man es googelt wird empfohlen opencv neu zu installieren.
Wie ist es denn bei dir - du hast ja wahrscheinlich eine aktuelle Installation - bekommst du diese Meldungen auch? Ich hab mit in der Konsole probiert mit
"python3 bild_anzeigen.py"
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich bin im Urlaub und bekomme die darum nicht.
UweA
User
Beiträge: 9
Registriert: Dienstag 30. Juni 2020, 08:50

@JanaSophie: Hast du das Problem lösen können?
Ich habe nämlich dasselbe Problem.(Bei mir ist "cv2.waitKey(0)" der Auslöser)
Eine Neuinstallation hat keine Besserung gebracht.
Gerüchten aus Stackoverflow zufolge, hat es mit einem Qt-Versionskonflikt zu tun (OpenCV wird mit Qt4 erzeugt und beisst sich dann mit einer lokalen Qt5-Version)
Antworten