Wie der Titel schon sagt. Ich habe Mausereignisse mit opencv-python erhalten. ** Als ich versuchte, Ereignisse mit der rechten Maustaste abzurufen, wurde das Menü mit der Standardfunktion ** geöffnet. Ich habe festgestellt, dass es einigen Leuten gut geht, ohne etwas zu tun, daher kann die opencv-Version die Ursache sein.
--Umgebung
Ubuntu 18.04 LTS
opencv install mit pip (wahrscheinlich aus diesem Grund)
--Datum (und Uhrzeit
2019/11/20
opencv 2.2 Dokumentation »Benutzeroberfläche stackoverflow/Why does a right click open a drop down menu in my OpenCV imshow() window?
Laut ** scheint ein Rechtsklick zum Öffnen des Menüs ein Merkmal dieses Qt-Backends zu sein **. Es scheint also, dass wir diese Funktion entfernen oder ein anderes Backend verwenden müssen. Ich bin mir über das Backend nicht sicher und brauche diese Funktion nicht, daher werde ich sie entfernen.
[Aus dem offiziellen Dokument oben]
--flags Fensterflaggen. Die derzeit unterstützten Flags sind: --CV_WINDOW_NORMAL oder CV_WINDOW_AUTOSIZE: Wenn Sie CV_WINDOW_NORMAL angeben, kann der Benutzer die Fenstergröße ändern. Wenn Sie dagegen CV_WINDOW_AUTOSIZE angeben, wird die Fenstergröße automatisch an das angezeigte Bild angepasst (siehe ShowImage), und der Benutzer kann die Fenstergröße nicht ändern. --CV_WINDOW_FREERATIO oder CV_WINDOW_KEEPRATIO: Wenn CV_WINDOW_FREERATIO angegeben ist, wird die Bildgröße angepasst, ohne das Seitenverhältnis beizubehalten, und umgekehrt, wenn CV_WINDOW_KEEPRATIO angegeben ist, wird das Seitenverhältnis angepasst. --CV_GUI_NORMAL oder CV_GUI_EXPANDED: Sie können CV_GUI_NORMAL angeben, um das vorherige Fenster ohne Statusleiste und Symbolleiste anzuzeigen. Wenn Sie dagegen CV_GUI_EXPANDED angeben, wird eine neue erweiterte GUI angezeigt.
Anscheinend können Sie dies tun, indem Sie das Flag-Argument von "cv2.namedWindow" angeben.
cv2.namedWindow("hoge", CV_GUI_NORMAL)
cv2.namedWindow("hoge", cv2.CV_GUI_NORMAL)
cv2.namedWindow("hoge", cv.CV_GUI_NORMAL)
Ich wundere mich warum ...
stackoverflow / NameError: globaler Name 'CV_GUI_NORMAL' ist nicht definiert Wert ist geschrieben, ...
WINDOW_AUTOSIZE = 1
WINDOW_FREERATIO = 256
WINDOW_FULLSCREEN = 1
WINDOW_GUI_EXPANDED = 0
WINDOW_GUI_NORMAL = 16
WINDOW_KEEPRATIO = 0
WINDOW_NORMAL = 0
WINDOW_OPENGL = 4096
WND_PROP_ASPECT_RATIO = 2
WND_PROP_AUTOSIZE = 1
WND_PROP_FULLSCREEN = 0
WND_PROP_OPENGL = 3
WND_PROP_VISIBLE = 4
Da WINDOW_GUI_NORMAL = 16
, ...
cv2.namedWindow("hoge", 16)
Die oben genannten Nummern werden ausführlich in der allgemeinen Benutzeroberfläche beschrieben.
Recommended Posts