clear I=imread('baijpg'); %读入图像
q=imadjust(I,[2 3 0;6 7 1],[]); %增强图像的对比度
j=rgb2gray(q); %彩色图像变灰度图像
j1=im2bw(q,230/255);%二值化
se90=strel('line',3,90); %构造元素
se0=strel('line',3,0); %同上
BW2=imdilate(j1,[se90 se0]); % 用构造的元素膨胀
BW3=bwareaopen(BW2,100);%开 *** 作
BW3=~BW3;%取反
BW4=bwareaopen(BW3,20);%开
BW5=bwperim(BW4);%计算BW4周长
[imx,imy]=size(BW5);计算长宽
L=bwlabel(BW5,8);%用不同的数字根据是否连通标记图像,
a=max(max(L));%得到L图像中标记结果的最大值
BW6=bwfill(BW5,'hole');%填充背景
I2=I;
for i=1:3; I2(:,:,i)=I2(:,:,i)uint8(BW6);
end imshow(I2); 有大神能逐条解释一下语句吗,本人是菜鸟啊,跪求!!
% 可能是聚类后的图像数据不匹配,用如下代码试试
iidx = uint8(iidx);level = graythresh(iidx);
imageout = im2bw(iidx,level);
imshow(imageout);
以上就是关于matlab图像分割程序全部的内容,包括:matlab图像分割程序、我想问一下,通过matlab运行程序,用kmeans算法进行聚类后的灰度直方图,、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)