在图像区域中查找质心

时间:2015-01-23 12:08:20

标签: matlab centroid

我有一组带有多个blob的矩阵(这从矩阵变为矩阵),我正在寻找一种方法来找到blob的质心。为此,我将regionpropsCentroid选项一起使用。

B = bwlabel(A);
stat = regionprops(B,'Centroid');

number_centers = numel(stat);
coord_centers = zeros(number_centers,2);
xy_cylinder = zeros(number_centers,2);
for x = 1: number_centers
   coord_centers(x,1) = stat(x).Centroid(1);   % Angle
   coord_centers(x,2) = stat(x).Centroid(2);   % Radius
end 

如果我绘制叠加了质心的矩阵(下面的代码),我注意到它们稍微偏移(它们位于像素的质心所在的角落)。你觉得我是对的吗?你知道为什么会这样吗?

axis equal;
pcolor(A), colorbar, hold on;
xlabel('Angle'); ylabel('Radius');
for x = 1: numel(stat)
    plot(stat(x).Centroid(1),stat(x).Centroid(2),'r+');
end

enter image description here

0 个答案:

没有答案