第一个例子:求取单连通域的质心
img=imread('bw.tif');
[m,n]=size(img);
L=bwlabel(img);
sum_x=0;sum_y=0;area=0;
for i=1:m
for j=1:n
if L(i,j)==1
sum_x=sum_x+i; %所有x*f(x)的和
sum_y=sum_y+j; %所有y*f(y)的和
area=area+1; %面积求和
end
end
end
plot_x=fix(sum_x/area);
plot_y=fix(sum_y/area);
figure();
imshow(img);
hold on
plot(plot_y,plot_x,'*');
第2个例子:求取单连通域的质心
## 例2:多连通域的质心
I=imread('img.jpg');
I_gray=rgb2gray(I);
level=graythresh(I_gray);
[height,width]=size(I_gray);
I_bw=im2bw(I_gray,level);
for i=1:height %%循环中进行反色
for j=1:width
if I_bw(i,j)==1
I_bw(i,j