将cv2.imshow() 的窗口设置为仅显示图像

编程语言 2026-07-09

我正在使用OpenCV调整图片大小并显示它:

resized_result_img = cv2.resize(result_img, (0, 0), fx=RESIZE_FX, fy=RESIZE_FY)
cv2.imshow("img", resized_result_img)

但是弹出的窗口里有额外的控件,例如保存/缩放按钮以及其他控件。此外,窗口大小并不能很好地适配图片。

我只想要:

  • 一个干净的图片窗口
  • 窗口大小与图片大小一致

如何在OpenCV的 Python中实现?

在此输入图片描述

解决方案

创建一个带有 WINDOW_GUI_NORMAL(应移除额外控件)和 WINDOW_AUTOSIZE(应适应内容)属性的窗口来显示你的结果:

cv2.namedWindow("img", cv2.WINDOW_GUI_NORMAL | cv2.WINDOW_AUTOSIZE)
cv2.imshow("img", resized_result_img)

自适应大小的示例图片

操控图标的默认可见性似乎取决于OpenCV编译时所使用的库 [1],我在Windows上无法重现。你可能想要在重新编译OpenCV时移除Qt支持,以从根本上去除这些额外控件。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章