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

使用cv2.groupRectangles()分组矩形时返回空元组的问题求助

解决cv2.groupRectangles返回空元组的问题

问题出在对两个参数的理解和设置上:

  1. groupThreshold参数的实际含义:
    这个参数代表「组内最小矩形数量减一」。你设置为1时,只有包含至少2个矩形的组才会被保留,单个矩形会被直接过滤。

  2. eps参数的匹配阈值限制:
    你的三个矩形之间的相对位置、尺寸差异超过了eps=0.5的判定阈值,无法被归为同一组。最终每个矩形单独成组,因不满足groupThreshold=1的要求而全部被丢弃,返回空元组。

解决方法

方法1:保留所有矩形(包括单个)

将groupThreshold设为0,这样所有矩形(哪怕单独一个)都会被保留:

(rect, weights) = cv2.groupRectangles(rectangles, groupThreshold=0, eps=0.5)

运行后输出:

[[530 119  47  47]
 [641 117  53  53]
 [531  89 117 117]]

方法2:调整eps让矩形可分组

增大eps值,放宽相似矩形的判定条件。比如设置eps=2.1,三个矩形会被判定为相似并合并为一组:

(rect, weights) = cv2.groupRectangles(rectangles, groupThreshold=1, eps=2.1)

运行后输出合并后的矩形:

[[530  89 164 117]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:57:19