大神帶你玩轉matlab影像處理(三)
- 2020 年 3 月 10 日
- 筆記
第四章:影像形態學變換
4.1 影像腐蝕
基礎理論模型

下圖介紹以3*3的結構元素腐蝕效果圖

原始影像

正方形結構元

腐蝕過程

腐蝕結果
指定的結構元語法規則:
SE =strel('diamond',r)創建菱形形狀的結構元素,其中r指定從結構元素原點到菱形中心點的距離。
SE = strel('disk',r,n) 創建一個圓形結構元素,其中r 指定半徑並n指定用於近似圓盤形狀的線形結構元素的數量。當結構化元素使用近似值時,使用圓盤近似值的形態運算的運行速度要快得多。
SE = strel('line',len,deg) 創建一個線性結構元素,該元素相對於鄰域中心對稱
SE =strel('octagon',r)創建一個八邊形結構元素,該元素r指定從結構元素原點到八邊形邊的距離(沿水平軸和垂直軸測量)。r必須為3的非負倍數。
SE =strel('rectangle',[m n]) 創建一個大小為的矩形結構元素[m n]。
SE =strel('square',w)創建一個正方形結構元素,其寬度為w 像素。
SE = strel('cube',w)創建一個3D立方體結構元素,其寬度為w 像素。
SE =strel('cuboid',[m n p]) 創建一個大小為的3-D長方體結構元素[m n p]。
SE =strel('arbitrary',nhood,h)任意自定義結構元素
SE =strel('sphere',r)創建一個半徑為r 像素的3-D球體結構元素。
imerode語法規則:
B=imerode(A,SE)
A:原影像,B:結果圖,SE:結構元
clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lenaRGB.bmp']);gr=graythresh(I);%確定二值化閾值B=im2bw(I,gr);%對影像二值化%% 正方形結構元素腐蝕se1=strel('square',2);se2=strel('square',4);se3=strel('square',8);se4=strel('square',16);J1=imerode(B,se1);J2=imerode(B,se2);J3=imerode(B,se3);J4=imerode(B,se4);subplot(2,3,1);imshow(I);title('原影像','FontSize',20);subplot(2,3,2);imshow(B);title('二值化影像','FontSize',20);subplot(2,3,3);imshow(J1);title('$2times 2$','interpreter','latex','FontSize',20);%2*2正方形結構元素腐蝕圖subplot(2,3,4);imshow(J2);title('$4times 4$','interpreter','latex','FontSize',20);%4*4正方形結構元素腐蝕圖subplot(2,3,5);imshow(J3);title('$8times 8$','interpreter','latex','FontSize',20);%8*8正方形結構元素腐蝕圖subplot(2,3,6);imshow(J4);title('$16times 16$','interpreter','latex','FontSize',20);%16*16正方形結構元素腐蝕圖
運行結果

4.2 影像膨脹

下圖介紹以3*3的結構元素膨脹效果圖

原始原圖

正方形結構元

膨脹過程

結果圖
imdilate語法規則:
B=imdilate(A,SE)
A:原影像,B:結果圖,SE:結構元
clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lenaRGB.bmp']);gr=graythresh(I);%確定二值化閾值B=im2bw(I,gr);%對影像二值化%% 正方形結構元素膨脹se1=strel('square',2);se2=strel('square',4);se3=strel('square',8);se4=strel('square',16);J1=imdilate(B,se1);J2=imdilate(B,se2);J3=imdilate(B,se3);J4=imdilate(B,se4);subplot(2,3,1);imshow(I);title('原影像','FontSize',20);subplot(2,3,2);imshow(B);title('二值化影像','FontSize',20);subplot(2,3,3);imshow(J1);title('$2times 2$','interpreter','latex','FontSize',20);%2*2正方形結構元素膨脹圖subplot(2,3,4);imshow(J2);title('$4times 4$','interpreter','latex','FontSize',20);%4*4正方形結構元素膨脹圖subplot(2,3,5);imshow(J3);title('$8times 8$','interpreter','latex','FontSize',20);%8*8正方形結構元素膨脹圖subplot(2,3,6);imshow(J4);title('$16times 16$','interpreter','latex','FontSize',20);%16*16正方形結構元素膨脹圖
運行結果

4.3 開運算

下圖介紹以3*3的結構元素開運算效果圖

原始原圖

正方形結構元

先腐蝕得出結果圖

再膨脹得出結果圖
imopen語法規則:
B=imopen(A,SE)
A:原影像,B:結果圖,SE:結構元
clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lenaRGB.bmp']);gr=graythresh(I);%確定二值化閾值B=im2bw(I,gr);%對影像二值化%% 正方形結構元se1=strel('square',2);se2=strel('square',4);se3=strel('square',8);se4=strel('square',16);J1=imopen(B,se1);J2=imopen(B,se2);J3=imopen(B,se3);J4=imopen(B,se4);subplot(2,3,1);imshow(I);title('原影像','FontSize',20);subplot(2,3,2);imshow(B);title('二值化影像','FontSize',20);subplot(2,3,3);imshow(J1);title('$2times 2$','interpreter','latex','FontSize',20);%2*2正方形結構元素開運算圖subplot(2,3,4);imshow(J2);title('$4times 4$','interpreter','latex','FontSize',20);%4*4正方形結構元素開運算圖subplot(2,3,5);imshow(J3);title('$8times 8$','interpreter','latex','FontSize',20);%8*8正方形結構元素開運算圖subplot(2,3,6);imshow(J4);title('$16times 16$','interpreter','latex','FontSize',20);%16*16正方形結構元素開運算圖
運行結果

4.4 閉運算

下圖介紹以3*3的結構元素閉運算效果圖

原影像

正方形結構元

先膨脹得出結果圖

再腐蝕得出結果圖
imclose語法規則:
B=imclose(A,SE)
A:原影像,B:結果圖,SE:結構元
clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lenaRGB.bmp']);gr=graythresh(I);%確定二值化閾值B=im2bw(I,gr);%對影像二值化%% 正方形結構元se1=strel('square',2);se2=strel('square',4);se3=strel('square',8);se4=strel('square',16);J1=imclose(B,se1);J2=imclose(B,se2);J3=imclose(B,se3);J4=imclose(B,se4);subplot(2,3,1);imshow(I);title('原影像','FontSize',20);subplot(2,3,2);imshow(B);title('二值化影像','FontSize',20);subplot(2,3,3);imshow(J1);title('$2times2$','interpreter','latex','FontSize',20);%2*2正方形結構元素閉運算圖subplot(2,3,4);imshow(J2);title('$4times 4$','interpreter','latex','FontSize',20);%4*4正方形結構元素閉運算圖subplot(2,3,5);imshow(J3);title('$8times 8$','interpreter','latex','FontSize',20);%8*8正方形結構元素閉運算圖subplot(2,3,6);imshow(J4);title('$16times 16$','interpreter','latex','FontSize',20);%16*16正方形結構元素閉運算圖
運行結果

參考資料:
https://ww2.mathworks.cn/help/images/ref/strel.html?s_tid=srchtitle
圖片來源:https://en.wikipedia.org/wiki/Lena_Forsén