为什么右键单击会在 OpenCV imshow() 窗口中打开下拉菜单?

Ste*_*hke 4 python opencv imshow

我正在尝试在我的系统上运行OpenCV Grabcut 示例

  • OpenCV 版本 4.1.0
  • Python版本3.6.8
  • 空闲版本3.6.8
  • 乌班图 18.04.2

这是来自以下位置的构建信息cv2.getBuildInformation()构建信息

在 Grabcut 示例脚本中,我需要“使用鼠标右键在对象周围绘制一个矩形”。由于某种原因,当我单击鼠标右键时会出现一个下拉菜单(这是我单击并按住鼠标右键):

落下

以前没有发生过这种情况,但自从我重新格式化计算机并重新安装 OpenCV 后,我得到了这个下拉菜单。窗户imshow看起来也不同。我尝试安装很多视频编解码器包(来自本教程),但这没有帮助。

该下拉菜单会干扰鼠标回调函数。我怎样才能摆脱这个下拉菜单?

我使用命令安装了 OpenCV pip3 install opencv-contrib-python。我知道我丢失了一些软件包,所以我尝试安装(但失败了 - '无法通过正则表达式找到任何软件包......')本教程中的这些软件包:

sudo apt-get install python-devel numpy
sudo apt-get install gcc gcc-c++
sudo apt-get install gtk2-devel
sudo apt-get install ffmpeg-devel
sudo apt-get install gstreamer-plugins-base-devel
Run Code Online (Sandbox Code Playgroud)

Kas*_*kar 6

在 Python 中,您可以传递cv2.WINDOW_GUI_NORMAL标志namedWindow()来禁用下拉菜单(仅当您有 Qt 后端时才支持该标志):

cv2.namedWindow("window_name", cv2.WINDOW_GUI_NORMAL)
Run Code Online (Sandbox Code Playgroud)

然后打电话

cv2.imshow("window_name", img)
Run Code Online (Sandbox Code Playgroud)

namedWindow该函数的文档链接位于此处