二值图像--形态学处理3 开操作和闭操作

学习DIP第13天

转载请标明出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意。。。。。。。。

开篇废话

    简单来说所谓开操作和闭操作就是把腐蚀和膨胀结合起来,先腐蚀后膨胀就是开,膨胀后腐蚀就是关,至于为什么是开为什么是关,我一开始也记不住,记得老师好像也没告诉我为啥叫开,为啥叫闭,不过在下面的介绍中,会给出叫开和关的原因。

数学原理

    额,公式还没准备好。。。

性质

    开操作,一般会平滑物体轮廓断开较窄的狭颈(细长的白色线条),所以叫开,并消除细小的突出物
    闭操作,一般也会平滑物体轮廓,但与开操作相反,弥合较窄的间断和细长的沟壑,所以叫闭,消除小的空洞,填补轮廓线的中的断裂。
    上述中所有所谓的细,窄都是与结构元SE相比的,所以,关键还是SE
   幂等性(idempotent):就是当对同一SE对图像做开(闭)操作,做一次和做多次,结果是一样的。

代码

     代码,完全是基于腐蚀和膨胀的操作,其中腐蚀和膨胀的具体实现,见上节
[cpp]  view plain  copy
 print ?
  1. //开操作  
  2. void Open(IplImage *src,IplImage *dst,IplImage *se,Position *center){  
  3.     Erode(src, dst, se, center);  
  4.     Dilate(dst, dst, se, center);  
  5.   
  6. }  
  7. //关操作  
  8. void Close(IplImage *src,IplImage *dst,IplImage *se,Position *center){  
  9.     Dilate(src, dst, se, center);  
  10.     Erode(dst, dst, se, center);  
  11.       
  12. }  


结果

    以下所有结果的SE均为3x3的全为1,中心为中间元素,即SE为各向同性的。
    开操作:左上为原图,左下为开操作结果,右上是开操作结果与原图的差,可以看出,细小的白色突起,细长的线条被处理掉了,而狭长的黑色沟壑被保留

    闭操作:左上为原图,左下为闭操作结果,右上为原图与闭操作结果的差。可以看出,原图中的黑色细条(即黑色沟壑)被填充,但白色突起点被保留。

     下面对以100为阈值处理的lenna图进行操作:
     lena的open结果:

     lena的close结果
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值