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

是否存在可在图像中检测已知尺寸和形状的目标物体的算法?

适合非专业背景的轻量实现方案(基于OpenCV,门槛极低,3张图调试成本几乎为0)

不需要用到深度学习之类的复杂方案,用传统图像处理算子几步就能搞定:

  • 第一步:二值化分割白色区域
    目标是白色矩形,灰度值显著高于背景,直接调用cv2.threshold()做固定阈值二值化,就能把所有高灰度的白色区域单独提取出来,深色的圆形和背景直接被过滤。
  • 第二步:轮廓初筛
    用cv2.findContours()提取所有白色区域的轮廓,结合你已知的矩形尺寸,先按面积过滤:根据图像分辨率算出目标矩形的面积上下阈值,把面积不在范围内的轮廓全部丢弃,大部分干扰轮廓这一步就能排除。
  • 第三步:形状特征精准匹配
    对剩余的轮廓做两个维度的校验,基本就能锁定目标:
    1. 计算轮廓的最小外接矩形,对比外接矩形的长宽比和你已知的目标矩形比例,误差控制在5%以内即可保留
    2. 提前画一个和目标比例、圆角大小一致的标准模板轮廓,用cv2.matchShapes()计算待检测轮廓和模板的形状相似度,得分低于0.1的就是目标圆角矩形
  • 第四步:输出位置
    确认目标轮廓后,调用cv2.boundingRect()就能直接得到矩形的左上角坐标、宽度、高度,即你需要的位置信息。

如果遇到少量噪点干扰,可以在二值化之后加一步开运算cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel),提前去掉小的白色杂点,稳定性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:15:10