Python Qt.qpa.plugin Fehler

Probleme bei der Installation?
Antworten
nikh22
User
Beiträge: 28
Registriert: Montag 27. Juni 2022, 15:46

Hallo,

habe ein kleines Programm geschrieben um mir den mittlern Wert eines Farbkanals anzeigen zu lassen. Allerdings bekomme ich immer folgende Fehlermeldung

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

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/niklas/anaconda3/envs/test/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, minimal, minimalegl, offscreen, vnc, webgl.

Ich weiß leider absolut nicht was es mit dem QT auf sich hat.
Ich nutze Ubuntu 20.04 und Conda mit Python 3.9. Habe extra ein neues Environment erstellt um zu sehen ob es abhilfe schafft, leider nein.

Folgendes Forum scheint das Problem gefixet bekommen zu haben:
https://forum.qt.io/topic/127696/qt-qpa ... as-found/6

Allerdingsweiß ich nicht wie oder wo ich diese"QT_DEBUG_PLUGINS environment variable " auf 1 setzen soll.
oder was ich mit diesem Befehl anfangen soll.
ldd /home/curiouspan/qt6-build/qtbase/plugins/platforms/libqxcb.so

Hier mein Programm:

Code: Alles auswählen

# Load image
import cv2
import numpy as np
from matplotlib import pyplot as plt


# Load image as BGR
image_bgr = cv2.imread(r'bilder/clear_sun.jpg', cv2.IMREAD_COLOR)



# Calculate the mean of each channel
channels = cv2.mean(image_bgr)

# Swap blue and red values (making it RGB, not BGR)
observation = np.array([(channels[2], channels[1], channels[0])])

# Show mean channel values
print(observation)

# Show image
plt.imshow(observation), plt.axis("off")
plt.show()

Wenn ich über Conda mir meine Packages anzeigen lasse sehe ich nur folgende Packete die mit qt anfangen:
qt 5.15.9 h06a4308_0 anaconda
qt-main 5.15.2 h327a75a_7
qt-webengine 5.15.9 hd2b0992_4
qtwebkit 5.212 h4eab89a_4

Bin über jede Hilfe dankbar.
Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

Du bist nicht der einzige, mit diesem Fehler: https://github.com/opencv/opencv-python/issues/447

Zum Convertieren von Farbformaten bringt cv2 schon was mit:

Code: Alles auswählen

observation = cv2.cvtColor(channels, cv2.COLOR_BGR2RGB)
Warum erzeugst Du ein Tuple, das Du gar nicht weiter verwendest?
nikh22
User
Beiträge: 28
Registriert: Montag 27. Juni 2022, 15:46

Danke bin über den Link auf den Fehler gestoßen, es lag daran dass das System und meine OpenCv verschieden Versionen von QT genutzt haben.
Den Fehler konnte ich einfach beheben, in dem opencv-python-headless installiert habe.
Da ich später jedoch die GUI Unterstützung brauche habe, habe ich opencv-contrib-python installiert, damit funktioniert es jetzt.
Antworten