我正在使用带网络摄像头的opencv 2。我可以获得视频流并对其进行处理,但我似乎无法想出一种调整显示窗口大小的方法。我有一些水平堆叠的视频图像,但图像尺寸非常小,很难看到。
我的代码很简单,按照以下方式:
cv2.namedWindow("main")
....
result = np.hstack((res2, foreground))
result = np.hstack((ff, result))
cv2.imshow("main", result)
cv2.waitKey(20)
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后端。有没有办法让我增加图像的大小,以便我可以看到它们?
答案 0 :(得分:14)
是的,遗憾的是,如果没有Qt后端,您无法手动调整nameWindow
窗口的大小。你的选择:
cv2.resize
功能在显示图像之前将图像大小调整为所需大小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的调用将自动调整窗口大小以适合您的图像。