如何在opencv2 python中调整窗口大小

时间:2013-05-29 13:26:31

标签: python opencv

我正在使用带网络摄像头的opencv 2。我可以获得视频流并对其进行处理,但我似乎无法想出一种调整显示窗口大小的方法。我有一些水平堆叠的视频图像,但图像尺寸非常小,很难看到。

我的代码很简单,按照以下方式:

cv2.namedWindow("main")

....

result = np.hstack((res2, foreground))
result = np.hstack((ff, result))

cv2.imshow("main", result)
cv2.waitKey(20)

opencv documentation州:

namedWindow
flags – Flags of the window. Currently the only supported flag is CV_WINDOW_AUTOSIZE . If this is set, the window size is automatically adjusted to fit the displayed image (see imshow() ), and you cannot change the window size manually.

但是qt后端显然有额外的标志。我没有qt后端。有没有办法让我增加图像的大小,以便我可以看到它们?

4 个答案:

答案 0 :(得分:14)

是的,遗憾的是,如果没有Qt后端,您无法手动调整nameWindow窗口的大小。你的选择:

  • 使用cv2.resize功能在显示图像之前将图像大小调整为所需大小
  • 使用Qt后端支持安装OpenCV并使用cv2.namedWindow("main", CV_WINDOW_NORMAL)

答案 1 :(得分:10)

简单写一下

cv2.namedWindow("main", cv2.WINDOW_NORMAL)

然后手动将其调整为所需大小

答案 2 :(得分:3)

调用WINDOW_NORMAL函数时,您可以使用namedWindow标志,如下所示。这将允许您调整窗口大小。

namedWindow("Image", WINDOW_NORMAL);

检查记录的namedWindow函数here

答案 3 :(得分:-1)

根据文档,您需要使用autosize true创建窗口。

cv2.namedWindow("main", cv2.WINDOW_AUTOSIZE)

您对imshow的调用将自动调整窗口大小以适合您的图像。