matlab图像处理之连通区域求质⼼⼀.确定不规则连通区域的质⼼ 原样本
clear;clc;close all
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)=0;
连通区域end
end
end
[L,num]=bwlabel(I_bw,8);
plot_x=zeros(1,num);%%⽤于记录质⼼位置的坐标 plot_y=zeros(1,num);
for k=1:num %%num个区域依次统计质⼼位置
sum_x=0;sum_y=0;area=0;
for i=1:height
for j=1:width
if L(i,j)==k
sum_x=sum_x+i;
sum_y=sum_y+j;
area=area+1;
end
骨膏end
end
plot_x(k)=fix(sum_x/area);
plot_y(k)=fix(sum_y/area);烟盒工艺品
end
figure(1);
imshow(I_bw);
for i=1:num
hold on
plot(plot_y(i) ,plot_x(i), '*');
end
处理后的样本
⾄此,使⽤matlab出了不规则连通区域的质⼼点.转载请注明出处.