给定一个带有少量(1-3)斑点的阈值图像,我想选择最靠近中心的斑点,我希望它是一个数字:
我想将红色矩形提取为单独的 Mat,因为它最靠近中心(绿点)。我的第一个想法是遍历图像中的所有斑点,并从其质心到图像中心的像素距离最小的斑点。但是,我不熟悉绝大多数 OpenCV 函数(而且有很多!)所以我想知道是否有更好的方法。
不过,我已经看到了一些问题:
- 如果外面的盒子覆盖了 3 或 4 条边,即使盒子本身并不靠近中心,质心也可能靠近中心。也许我应该使用更高阶的时刻来赋予远离中心的点更多的权重?
- 据我所知,OpenCV 没有集成的 blob 查找(或连接组件标记)库。我可以使用查找轮廓,但这对于像 6、8 或 9 这样带有内部部分的数字可能不准确。