数字图像处理总结(一)数学形态学 膨胀与腐蚀

一 、简介
数学形态学诞生于1964年,膨胀是在图像中目标结界周围增添图像,结构元素。
数字图像处理总结(一)数学形态学 膨胀与腐蚀_第1张图片腐蚀:移除图像中目标边界的像素,结构元素B对集合A的腐蚀。
数字图像处理总结(一)数学形态学 膨胀与腐蚀_第2张图片开运算与闭运算
数字图像处理总结(一)数学形态学 膨胀与腐蚀_第3张图片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)