3

问题是我需要一个简化版本的算法,它可以计算二进制图像中几个白色轮廓的质心。例如,如果只有一个白色轮廓,则轮廓中心的坐标 Xc 和 Yc 使用公式计算:

公式

其中 M 是强度 m_i 的总和,m_i 是像素强度值,x_i 和 y_i 是图像上的像素位置,n 是像素的总数。

任何人都可以提出类似的方法来处理多个轮廓,或者如何在使用相同的公式计算其中一个轮廓时忽略其他轮廓?

4

2 回答 2

2

首先使用一些称为连接组件标记的算法来分离不同的 blob。这将为每个区域分配一个唯一的 ID。然后,您可以计算每个 blob 的质心。

于 2014-02-14T15:46:45.390 回答
1

您可以使用具有最小平方误差的不同 k 值的k 均值算法。查找连接的组件可以帮助您获得图像中的最大斑点,但容易受到噪声的影响,但它是存在的总轮廓的上限。在使用 k 计算聚类后,计算轮廓的质心很简单。

于 2014-02-14T17:39:17.877 回答