OpenCV中的圆形标靶检测——findCirclesGrid()(三)

        前面说到cv::findCirclesGrid2()内部先使用SimpleBlobDetector进行圆斑检测,然后使用CirclesGridClusterFinder算法类执行基于层次聚类的标靶检测。如下图所示,由于噪声的影响,SimpleBlobDetector检出的标靶可能包含噪声。

        而CirclesGridClusterFinder算法类会执行基于层次聚类的标靶检测,并利用标靶的分布信息对斑点进行筛选和过滤,以检出真正的标靶。CirclesGridClusterFinder::findGrid()的执行步骤如下

1)CirclesGridClusterFinder::hierarchicalClustering()

        利用层次聚类的思想,基于点之间的距离进行聚类,得到与设置的标靶分布点数相等的一系列点。此时会将上图中5个噪点滤除,因为它们和真正的标靶点之间的距离偏大。

2)cv::convexHull()

        计算上述点的凸包,理想情况下对称标靶的凸包点为4,非对称标靶的凸包点为6,如下图所示,其中红色点表示凸包点。但是由于图像的畸变,往往会检出的点数会超过4/6。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mega_Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值