You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何缩小OpenCV中cv2.imshow()打开的窗口尺寸?

OpenCV控制窗口大小的解决方案

当然有,OpenCV提供两种常用方式来控制显示窗口的尺寸,适配你的需求:

方式一:直接设置窗口固定大小

先通过cv2.namedWindow()将窗口设置为可调整尺寸模式,再用cv2.resizeWindow()指定具体宽高,之后再调用cv2.imshow()显示图像。

修改你的代码,在调用cv2.imshow()前添加窗口配置逻辑:

def detection1(y2,y1,x2,x1,name):
    roi=img[y2:y1,x2:x1] 
    # ... 原检测逻辑保持不变 ...
    
    # 添加窗口大小控制
    cv2.namedWindow(name, cv2.WINDOW_NORMAL)  # 设置窗口支持调整尺寸
    cv2.resizeWindow(name, 640, 480)  # 指定窗口宽640、高480,可按需修改数值
    cv2.imshow(name,roi)

方式二:先缩放ROI图像再显示

如果希望显示的图像本身按比例缩小,而非仅调整窗口框架,可以用cv2.resize()先缩放ROI,再显示:

def detection1(y2,y1,x2,x1,name):
    roi=img[y2:y1,x2:x1] 
    # ... 原检测逻辑保持不变 ...
    
    # 缩放ROI到目标尺寸,示例为宽640、高480
    scaled_roi = cv2.resize(roi, (640, 480))
    cv2.imshow(name, scaled_roi)

这种方式下,窗口会自动适配缩放后的图像尺寸,同样能解决窗口过大的问题。

补充说明

  • cv2.WINDOW_NORMAL是核心参数:默认窗口为cv2.WINDOW_AUTOSIZE,会自动适配图像大小且无法手动调整;设置为WINDOW_NORMAL后,不仅能用代码指定大小,还能手动拖动窗口边缘调整尺寸。
  • 两种方式可结合使用,比如先缩放图像,再设置窗口固定大小,灵活度更高。

内容的提问来源于stack exchange,提问作者Moon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:45:49