matlab學習筆記(十一)---二值形態學運算
阿新 • • 發佈:2019-02-13
1、膨脹運算
1.1對影象text.png進行膨脹操作,並對比。
bw=imread('text.png');
se=strel('line',11,90); %建立一個線性結構元素
bw2=imdilate(bw,se); %用線性結構元素來進行膨脹操作
subplot(121),imshow(bw),title('原始影象');
subplot(122),imshow(bw2),title('膨脹影象');
效果圖如下:
1.2對影象cameraman.tif做膨脹操作,並對比。
效果圖如下:;I = imread('cameraman.tif'); se = strel('ball',5,5); I2 = imdilate(I,se); subplot(121),imshow(I),title('原始影象'); subplot(122),imshow(I2),title('膨脹影象');
2、腐蝕運算
2.1對影象text.png進行腐蝕操作,並對比。
bw=imread('text.png');
se=strel('line',11,90);
bw2=imerode(bw,se);
subplot(121),imshow(bw),title('原始影象');
subplot(122),imshow(bw2),title('腐蝕影象');
效果圖如下:
2.2對影象cameraman.tif做腐蝕操作,並對比。
效果圖如下:I = imread('cameraman.tif'); se = strel('ball',5,5); I2 = imerode(I,se); subplot(121),imshow(I),title('原始影象'); subplot(122),imshow(I2),title('腐蝕影象');
2.3對影象circles.png做腐蝕操作,並對比。
I = imread('circles.png');
se = strel('disk',11);
I2 = imerode(I,se);
subplot(121),imshow(I),title('原始影象');
subplot(122),imshow(I2),title('腐蝕影象');
效果圖如下:
3、開啟和閉合
3.1對影象circbw.tif做開啟和閉合運算
效果圖如下:I=imread('circbw.tif'); I1=bwmorph(I,'open'); I2=bwmorph(I,'close'); subplot(131),imshow(I),title('原始影象'); subplot(132),imshow(I1),title('開啟運算影象'); subplot(133),imshow(I2),title('閉合運算影象');
4、細節與骨架提取
4.1用形態學運算元去掉circles.png的內點,抽取骨架和細化。
BW1 = imread('circles.png');
BW2 = bwmorph(BW1,'remove');
BW3 = bwmorph(BW1,'skel',Inf);
BW4 = bwmorph(BW1,'thin',Inf);
subplot(221),imshow(BW1),title('原影象');
subplot(222),imshow(BW2),title('去掉內點影象');
subplot(223),imshow(BW3),title('影象骨架');
subplot(224),imshow(BW4),title('影象細化');
效果圖如下:
5、基於膨脹和腐蝕的操作
5.1對影象rice.png做高帽操作
I = imread('rice.png');
se = strel('disk',12);
J = imtophat(I,se);
K = imadjust(J);
subplot(131),imshow(I),title('原始影象');
subplot(132),imshow(J),title('高帽變換的結果');
subplot(133),imshow(K),title('對比度增強的結果');
效果圖如下: