中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 339查看
  • 0回复

[MATLAB] 图像腐蚀与图像膨胀在信号过滤的应用

[复制链接]


该用户从未签到

发表于 29-3-2024 10:00:30 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师



今天遇到一个有趣的问题,常规我做图片处理,采用图像腐蚀与图像膨胀等方法用来得到想要的图像特征,今天第一次看到腐蚀与膨胀在信号过滤中的引用,故此分享探讨

先说说图像腐蚀与图像膨胀

图像腐蚀与图像膨胀

一 基础知识

  图像的膨胀(dilation)和腐蚀(erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域.

  其中膨胀类似与 '领域扩张' ,将图像的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大.

  腐蚀类似 '领域被蚕食' ,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小.
二 图像膨胀

膨胀的运算符是“⊕”,其定义如下:

图像腐蚀与图像膨胀在信号过滤的应用w1.jpg

  该公式表示用B来对图像A进行膨胀处理,其中B是一个卷积模板或卷积核,其形状可以为正方形或圆形,通过模板B与图像A进行卷积计算,扫描图像中的每一个像素点,用模板元素与二值图像元素做“与”运算,如果都为0,那么目标像素点为0,否则为1。从而计算B覆盖区域的像素点最大值,并用该值替换参考点的像素值实现膨胀。下图是将左边的原始图像A膨胀处理为右边的效果图A⊕B。

图像腐蚀与图像膨胀在信号过滤的应用w2.jpg

  图像中的高亮区(黑点增多)
三 图像腐蚀

  腐蚀的运算符是“-”,其定义如下:

图像腐蚀与图像膨胀在信号过滤的应用w3.jpg

该公式表示图像A用卷积模板B来进行腐蚀处理,通过模板B与图像A进行卷积计算,得出B覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。如图所示,将左边的原始图像A腐蚀处理为右边的效果图A-B。

图像腐蚀与图像膨胀在信号过滤的应用w4.jpg

处理结果如下图所示:

图像腐蚀与图像膨胀在信号过滤的应用w5.jpg

  高亮区减少(白色区域减少)

信号应用

代码如下

x0=x;  %%把x赋值给x0figure(4);plot(x,'r')
k=[0,1,5,1,0];n=length(x);y1=zeros(1,n);y2=zeros(1,n);
y=zeros(1,5);max=0;min=0;
j=1;
%膨胀for i=5:n-0        max=-10000;    for kl=1:5        %y(kl)=x(j+kl-1)+k(kl);        y(kl)=x(j+kl-1)+k(kl);        if(y(kl)>max)            max=y(kl);        end    end    y1(j)=max;    j=j+1;    %j=j+5;end
%腐蚀j=1;for i=5:n-0        min=100000;    for kl=1:5        y(kl)=x(j+kl-1)-k(kl);        if(y(kl)<min)            min=y(kl);        end    end    y2(j)=min;    j=j+1;endfigure(6);subplot(2,1,1);plot(y1);subplot(2,1,2);plot(y2,'r');hold on
处理结果为:左边为原始信号,右边为2种方法处理后的信号

图像腐蚀与图像膨胀在信号过滤的应用w6.jpg

个人的理解这种方法类似采用一个滑动窗过滤,最后得到平稳信号,各位读者有啥见解欢迎留言讨论。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-11-2024 15:48 , Processed in 0.687052 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.