使用不同的膨胀和腐蚀方法对图像进行处理

膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。通过膨胀,可以填充图像中的小孔及在图像边缘处的小凹陷部分。结构元素B对图像A进行膨胀,记作A  B

腐蚀和膨胀是对偶操作。腐蚀是一种消除边界点,使边界向内部收缩的过程。利用腐蚀操作,可以消除小且无意义的物体。集合A被结构元素B腐蚀,记作A\ThetaB

这里为了简化起见,被膨胀和腐蚀图像我们处理成二值图像:

matlab 中

膨胀函数 IM2 = imdilate(IM,SE)   对图像IM进行膨胀,采用的结构元素为SE,SE为函数strel()得到的结构元素

腐蚀函数 IM2 = imerode(IM,SE)  对图像IM进行腐蚀,其他同上

以膨胀为例代码如下:

close all;clear all;clc;
I = imread('ceshi1.jpg');
I = im2bw(I);
I = ~I;
se1 = strel('square',3);  %方形膨胀元素
se2 = strel('line',5,90);   %线性膨胀元素
%se3 = strel('ball',5,10);   %球形膨胀元素  不能用于二值图像
se4 = strel('disk',11);     %磁盘膨胀元素
se5 = strel('rectangle',[20 30]);  %矩形膨胀元素
A = imdilate(I,se1);
B = imdilate(I,se2);
%C = imdilate(I,se3);
D = imdilate(I,se4);
E = imdilate(I,se5);
figure;
subplot(231);imshow(I);title('origin');
subplot(232);imshow(A);title('square');
subplot(233);imshow(B);title('line');
%subplot(234);imshow(C);title('ball');
subplot(235);imshow(D);title('disk');
subplot(236);imshow(E);title('rectangle');

strel结构元素说明:

 Examples
    --------
        se1 = strel('square',11)      % 11-by-11 square
        se2 = strel('line',10,45)     % line, length 10, angle 45 degrees
        se3 = strel('disk',15)        % disk, radius 15
        se4 = strel('ball',15,5)      % ball, radius 15, height 5

注意:这里球形结构元素不能用于膨胀操作,腐蚀操作类似,只需要修改imdilate函数为imerode函数

程序执行后输出如下:

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值