二值图像腐蚀与膨胀操作样例

申明: 仅个人小记

前言: 我之前对腐蚀与膨胀的概念理解存在错误。我原来的概念解决不了结构的原点设置在结构外部的情况。故在这里记一下。

小注: 刚开始操作的时候是同时有三张图,分别为原图像,结构元素图像,输出结果空白图像
注意: 原图像只是提供位置信息,不参与输出图像的构成。

###一、操作方法简要说明

  • 腐蚀操作内容

    1. 先不管原点设置的位置,在原图中找出第一个和结构元素完全匹配的部分
    2. 想象着拿着结构元素往上面找到的位置上贴,这时得到结构元素中的原点(就是打上“+”的那个方块)对应着原图中一个方块
    3. 我们根据这个方块位置,在空白的输出图像上(第一次输出图像为空白的)相应的位置涂黑。
    4. 重复1~3,直至原图中所有能和结构元素完全匹配的情况用完
    5. 这是得到的输出图像便是结构元素对原图像进行腐蚀的结果
  • 膨胀操作内容

    1. 原图像结构元素原点的运行轨迹。
    2. 直接关注原点,想象着拿着结构元素,把结构元素的原点放在原图像上的第一个有效元素(指的是黑方块)。
    3. 这时,我们得到结构元素所有的黑色方块在原图像上位置。我们根据得到的位置,在的输出图像(第一次输出图像为空白的)上完全相同的位置涂黑。
    4. 重复1~3,得到输出结果图像,输出结果图像就是结构元素对原图像膨胀操作的结果。

二、 二值图像的腐蚀操作

####1. 结构的原点设置在结构的内部情况举例

图中左侧(a)为原图像,右侧(b)为结构元素。
  • 第一步 拿结构元素第一次完全匹配原图(右侧为输出图像)

  •         

  • 第二步 然后我们根据原点在原图像中的位置,在输出图像上完全对应的位置上涂黑,即输出图像更变为

  • 第三步 在原图中寻找下一个完全和结构元素匹配部分,即

  • 第四步 根据此刻结构元素的原点在原图像上的位置,在输出图像相同的位置上涂黑,即

  • 第五步 寻找完毕,操作完毕。
    ####2. 结构的原点设置在结构的外部情况举例

左侧为原图,右侧为结构元素,注意,这里的结构元素的原点不在结构元素内部。

  • 第一步 拿结构元素第一次完全匹配原图(右侧为输出图像)

  • 第二步 根据结构元素的原点在原图中的位置,我们再输出图像相应的位置涂黑,即

  • 第三步 在原图中寻找下一个完全和结构元素匹配部分,即

  • 第四步 根据此刻结构元素的原点在原图像上的位置,在输出图像相同的位置上涂黑,即

  • 第五步 寻找完毕,操作完毕。

###三、 二值图像的膨胀操作

####1. 结构的原点设置在结构的内部情况举例

  • 图中左侧(a)为原图像,右侧(b)为结构元素

操作规则,拿结构元素的原点在原图像上的黑色方块上一次一次移动。

  • 第一步 将结构元素的原点,放置在原图向上的第一个黑色方块上,即

    (左侧为原图像,右侧为输出图像)

  • 第二步 根据此时结构元素在原图上霸占的所有位置,我们在输出图的相应所有位置涂黑,即

  • 第三步 将结构元素的原点移动到下一个原图上的黑色方块,即

  • 第四步 根据此时结构元素在原图上霸占的所有位置,我们在输出图的相应所有位置涂黑,即

  • 第五步 重复第三步和第四步,直到遍历完毕原图像中所有的黑色方块,我们得到最终输出结果

####2. 结构的原点设置在结构的外部情况举例

左侧为原图,右侧为结构元素,注意,这里的结构元素的原点不在结构元素内部。

  • 第一步 将结构元素的原点,放置在原图向上的第一个黑色方块上,即

    由于位置不够,我在上边界上拓展了一行。

  • 第二步 根据此时结构元素在原图上霸占的所有位置,我们在输出图的相应所有位置涂黑,即

  • 第三步 将结构元素的原点移动到下一个原图上的黑色方块,即

  • 第四步 根据此时结构元素在原图上霸占的所有位置,我们在输出图的相应所有位置涂黑,即

  • 第五步 重复第三步和第四步,直到遍历完毕原图像中所有的黑色方块,我们得到最终输出结果

By Jack Lu 2017-6-26 23:57:35

四、其他的一些概念

  1. 平移不变性(shift-nonvariant): 指的就是不论平行移动到哪里执行的操作都是一样。和执行的动作和操作是无关系的。
  2. 腐蚀和膨胀操作还可以对灰度图进行操作,具体方式:
  • 灰度图腐蚀
    用原图减去结构,选用结果中的最小值(如果有负值,则以0为最小值)作为本次输出值放置在空白图像相应的输出位置(即结构的原点位置在原图上相应的位置)。

  • 灰度图膨胀
    用原图加上结构,选用结果中的最大值 (如果有负值,则以0为最小值)作为本次输出值放置在空白图像相应的输出位置(即结构的原点位置在原图上相应的位置)。

3 开闭运算

  • 开运算为: 先腐蚀再膨胀

  • 闭运算为: 先膨胀再腐蚀

  • 开闭运算具有幂等性。即做n次开运算和做一次开运算的结果相同,闭运算同样如此。

  • 个人方便记忆开闭运算的操作顺序,这样理解,开运算是打开的意思,即可以理解为将图像中靠近但不相连的地方索性打开。做一次开运算,使得原来的缝隙变大。
    闭运算可以理解为闭合的意思,能合并在一起的地方尽量合并。即可以理解为把图像中缝隙填满。

  • 75
    点赞
  • 264
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值