在像素群集中查找质心

时间:2017-05-09 08:10:59

标签: algorithm cluster-analysis centroid

如何计算像素形成的聚类的质心?

我用RED,BLUE和GREEN值表示像素(例如,pixel(116 133 55))。

质心应群集中实例的平均值,但如何计算像素之间的平均值

[我试图计算每种颜色的平均值(质心[“RED”] = sum_red_pixel_values /像素数等等)但它给出的结果错误]

如果它有任何帮助,我正在使用欧几里德距离函数。

1 个答案:

答案 0 :(得分:2)

sum_red_pixel_values/number of pixels将为您提供平均红色强度。如果你想要质心,你需要找到按像素强度加权的所有像素的平均x和y位置。

centroid.x = sum(pixel.red * pixel.x) / sum(pixel.red)
centroid.y = sum(pixel.red * pixel.y) / sum(pixel.red)

其中sum超过所有像素。

你可以分别为红绿和蓝色计算,然后平均,但如果你只想要平均值,那么平均效率会更高(如果你想要光度,可能是加权平均值)每个像素的红绿蓝通道首先,然后根据它计算质心。