【发布时间】:2022-01-26 06:27:43
【问题描述】:
我正在使用 opencv 显示图像。问题是图像很大,所以它比我的大显示器还大。 有没有办法显示此图像自动调整大小以适合我的屏幕?
请注意,这里对类似问题的许多答案分为两类:
- 他们建议在 namedWindow 函数中使用一个选项,但这并没有解决问题(我尝试并仔细阅读了文档,它从未声称它确实解决了这个问题)李>
- 使用调整大小手动调整图像大小。不是自动的。但是,我怎么知道要调整大小的值呢?
编辑:我被要求报告我声称 WINDOW_NORMAL 不能解决问题的说法。我面前有一个脚本,我首先要做的是
cv.imshow("window",image)
cv.waitKey()
然后使用相同的脚本
cv.namedWindow("window", cv.WINDOW_NORMAL)
#image = cv.resize(image, (960, 540))
#image = cv.resize(image, (1280, 800))
cv.imshow("window",image)
cv.waitKey()
结果是一样的。窗户一如既往的大。 现在让我们看看docs
参数:
name – Name of the window in the window caption that may be used as a window identifier. flags – Flags of the window. The supported flags are: WINDOW_NORMAL If this is set, the user can resize the window (no constraint). 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. WINDOW_OPENGL If this is set, the window will be created with OpenGL support.
如您所见,它清楚地表明用户可以调整窗口大小(无限制),并且没有部分显示自动 所以它没有解决这个问题的问题
【问题讨论】:
-
您只需在调用
imshow之前 使用namedWindow("foo", cv.WINDOW_NORMAL)即可调整大小。解释你为什么声称没有解决它。显示发生了什么,以及为什么这不是你想要的。 -- 如果你想要一个全屏窗口(你没有准确地说那个),还有另一个标志。结合WINDOW_NORMAL,它会拉伸图像。
标签: opencv