天天看點

數字圖像處理總結(一)數學形态學 膨脹與腐蝕

一 、簡介

數學形态學誕生于1964年,膨脹是在圖像中目标結界周圍增添圖像,結構元素。

數字圖像處理總結(一)數學形态學 膨脹與腐蝕

腐蝕:移除圖像中目标邊界的像素,結構元素B對集合A的腐蝕。

數字圖像處理總結(一)數學形态學 膨脹與腐蝕

開運算與閉運算

數字圖像處理總結(一)數學形态學 膨脹與腐蝕

matlab code:

clc;
clear all;
close all;
%灰階膨脹、腐蝕、開操作、閉操作測試圖像
I=[
    0 0 0 1 0 0 0;
    0 0 1 1 1 0 0;
    1 0 1 1 1 0 0;
    0 0 0 0 0 0 0;
    ];
 
%============================灰階腐蝕+膨脹圖像=============================
%半徑為2的平頂結構元素,實際上隻取4連通的數值
B=[0 1 0;1 1 1; 0 1 0];
n=size(B,1);
ind=find(B==0);
n_l=floor(n/2);
%對邊界圖進行擴充,目的是為了處理邊界點,這裡采用邊界鏡像擴充
I_pad=padarray(I,[n_l,n_l],'symmetric');
[M,N]=size(I);
J_Erosion=zeros(M,N);
J_Dilation=zeros(M,N);
for i=1:M
    for j=1:N
        %獲得圖像子塊區域
        Block=I_pad(i:i+2*n_l,j:j+2*n_l);
        C=Block.*B;
        %删除0值,保留4連通數值
        C=C(:);
        C(ind)=[];
        %腐蝕操作
        J_Erosion(i,j)=min(C);
        %膨脹操作
        J_Dilation(i,j)=max(C);
    end
end
subplot(131)
imshow(I)
subplot(132)
imshow(J_Erosion)
subplot(133)
imshow(J_Dilation)

           
m