1. 程式人生 > >matlab學習筆記(十一)---二值形態學運算

matlab學習筆記(十一)---二值形態學運算

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('對比度增強的結果');
效果圖如下: