[OpenCV] imshow()窗口的”固定位置”


事件

当我在VS Code上执行OpenCV的Imshow()来显示图像并进行检查时,我陷入了如下图所示的情况。
【OpenCV】VS Codeて?実行したimshowのウィント?ウのサイス?か?小さい時の対処法.png

操作环境

Python 3.7.0
VS代码:2018年8月(1.27版)
opencv-python:3.4.3.18

现象

  • 窗口的位置是固定的。
  • 窗口大小很小。
  • 窗口无法缩放。
  • 按键时,显示的窗口将冻结。

解决方案是2步骤。

首先,作为前提,使用imshow()作为图像显示的模板,

1
2
3
4
img = cv2.imread(IMAGE_PATH)
cv2.imshow('ウィンドウ名', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

我想我会这样写。
如果不调用waitKey(),图像将不会首先显示,对吗?

步骤1

首先,窗口的位置和大小。似乎imshow()生成的窗口默认情况下标记为cv2.WINDOW_AUTOSIZE

有一个名为cv2.namedWindow()的方法,但是如果将标志指定为cv2.WINDOW_NORMAL,则基本上可以更改大小,同时释放窗口位置并且更改比例。有可能。

如何使用

cv2.namedWindow('img', cv2.WINDOW_NORMAL)

步骤2

是的,这里是没有的人。
这只会发生在试图显示多个图像的人身上,但是如果在等待waitKey(0)的同时按下一个键,它将像这样在左侧出现
ウィント?ウ左寄り.png

ウィント?ウ左寄り_拡大.png

什么是wwwwwwwwwwwwwwwwwwwwwwww

是的。这样,它就变成了某种东西。
当在多个位置描述imshow()并且在每个位置描述cv2.waitKey(0)时,就会发生这种情况。
在这种情况下,除了源代码末尾的cv2.waitKey(0)以外,您不需要任何其他内容,因此请将其删除。

或更多。