Comme le titre l'indique, j'obtenais des événements de souris avec opencv-python, ** Quand j'ai essayé d'obtenir des événements de clic droit, le menu était ouvert avec la fonction par défaut **. J'ai trouvé que certaines personnes se débrouillent bien sans rien faire, donc la version opencv peut en être la cause.
--Environnement
Ubuntu 18.04 LTS
opencv installer avec pip (probablement à cause de cela)
--Date et l'heure
2019/11/20
documentation opencv 2.2 »Interface utilisateur stackoverflow/Why does a right click open a drop down menu in my OpenCV imshow() window?
Selon **, un clic droit pour ouvrir le menu semble être une fonctionnalité de ce backend Qt **. Il semble donc que nous devions nous débarrasser de cette fonctionnalité ou utiliser un autre backend. Je ne suis pas sûr du backend et je n'ai pas besoin de cette fonctionnalité, je vais donc la supprimer.
[D'après le document officiel ci-dessus]
--flags Drapeaux de fenêtre. Les indicateurs actuellement pris en charge sont: --CV_WINDOW_NORMAL ou CV_WINDOW_AUTOSIZE: Si vous spécifiez CV_WINDOW_NORMAL, l'utilisateur peut modifier la taille de la fenêtre. Inversement, si vous spécifiez CV_WINDOW_AUTOSIZE, la taille de la fenêtre est automatiquement ajustée pour s'adapter à l'image affichée (voir ShowImage), et l'utilisateur ne peut pas modifier la taille de la fenêtre. --CV_WINDOW_FREERATIO ou CV_WINDOW_KEEPRATIO: Si CV_WINDOW_FREERATIO est spécifié, la taille de l'image sera ajustée sans conserver le rapport hauteur / largeur, et inversement, si CV_WINDOW_KEEPRATIO est spécifié, le rapport hauteur / largeur sera ajusté. --CV_GUI_NORMAL ou CV_GUI_EXPANDED: Vous pouvez spécifier CV_GUI_NORMAL pour afficher la fenêtre précédente sans la barre d'état et la barre d'outils. Inversement, si vous spécifiez CV_GUI_EXPANDED, une nouvelle interface graphique améliorée sera affichée.
Apparemment, vous pouvez le faire en spécifiant l'argument flags de cv2.namedWindow
.
cv2.namedWindow("hoge", CV_GUI_NORMAL)
cv2.namedWindow("hoge", cv2.CV_GUI_NORMAL)
cv2.namedWindow("hoge", cv.CV_GUI_NORMAL)
Je me demande pourquoi ...
stackoverflow / NameError: le nom global'CV_GUI_NORMAL 'n'est pas défini La valeur s'écrit, ...
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
WINDOW_GUI_NORMAL = 16
, donc ...
cv2.namedWindow("hoge", 16)
Les numéros ci-dessus sont décrits en détail dans l 'interface graphique de haut niveau.
Recommended Posts