OpenCV不会调整窗口大小(即使使用WINDOW_NORMAL时)

时间:2019-03-07 12:00:42

标签: opencv opencv3.0

系统信息(版本)

  • OpenCV => python-opencv / bionic-updates,仿生安全性,现在 3.2.0 + dfsg-4ubuntu0.1 amd64 [已安装]
  • 操作系统/平台=> Ubuntu 18.04
  • 编辑::GTK后端,我使用的是Xubuntu。
  • 编辑:我没有构建opencv,我只是通过APT安装了python-opencv软件包。

详细说明

当图像高于显示分辨率时,WINDOW_NORMAL不起作用。

我有两张图片:大一张是2560x2048,小一张是750x600。我的显示器设置为1920x1080分辨率。

当我使用下面的代码加载小代码时,一切都会按预期进行:我可以调整窗口大小和最大化,然后将图像“缩放”到窗口大小。

现在,我加载一个大图像(这是完全相同的图像,只是更大)。调整大小不起作用(而是仅移动窗口)。 “最大化”将窗口和图像设置为原始分辨率,该分辨率比我的显示分辨率大得多,并且无法在屏幕上看到整个图像。

我注意到的一件事是,在2.4版中,我可以将窗口的大小调整为小于图像分辨率的大小。这在3.2版中不再起作用,可能是问题的关键。

注意:This似乎是一个类似的问题,但事实并非如此。我无法调整图像的大小,因为我对用户单击图像时的坐标感兴趣。

复制步骤

import cv2

path="/tmp/img.jpg" # or small_img.jpg

img = cv2.imread(path, 1)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:0)

另一种可能是调整图像的大小以用于输出显示,如果仅出于调试目的。

尝试imutils.resize