膨胀和腐蚀 - 解决图像缺陷问题

腐蚀

故名思义就是将图片向内进行收缩。

图1 腐蚀示意图

  设经过背景减后的图像为 B,经过腐蚀运算处理后的图像为 P,用 S 表示所用 3R圆(为进化计算可由采用3x3的矩形来代替) 的结构元素,计算公式如下:

P = B Θ S = { x , y ∣ S x , y ⊆ B } P=B\Theta S= \{x,y | S_{x,y}\subseteq B\} P=BΘS={x,ySx,yB}
  这里 S x , y S_{x,y} Sx,y 表示将结构元素的原点移动到点 (x, y) 处。

腐蚀运算的具体过程如下:

  选定结构元素 S 的起点,以该点开始遍历经背景减的图像 B 上的所有像素点;结构元素与其所覆盖范围的所有像素点进行“ ”操作,若相“与”后的像素值 全部 为 255,则腐蚀运算后该点的像素值为 255;若像素值不全为 255,则腐蚀运算后该点的像素值为 0。
  常用的结构元素一般都是大小为 3*3 的矩阵算子,由实验可知,对运动图像进行闭运算,可以很好的修补轮廓上的一些缺陷,填充运动对象内部较小的空洞。图2为图像经闭运算处理后的变化。

膨胀

故名思义就是将图片向外延进行延拓。

图2 膨胀示意图
  设经过背景减后的图像为 B,经过膨胀运算处理后的图像为 P,用 S 表示所用 3*3 的结构元素,计算公式如下。

P = B ⊕ S = { x , y ∣ S x , y ∩ B ≠ ∅ } P=B\oplus S=\{x,y|S_{x,y}\cap B \ne\varnothing\} P=BS={x,ySx,yB=}

  这里, S x , y S_{x,y} Sx,y表示将结构元素的原点移动到点 (x, y) 处。

  膨胀运算的过程如下:

  首先确定膨胀算子的结构元素 S 的原点,以该原点开始,扫描图像 B 中的所有像素点。把结构元素在图像上进行遍历,把结构元素与其覆盖的像素点进行“与”操作,如果该区域中 存在 像素值为 255 的点,则经过该操作就把当前点赋为 255,若该区域所有的点的值都是 0,经膨胀操作后该点的值也为 0。

闭运算 && 开运算

  开运算是先后进行腐蚀和膨胀的运算,如果图像中杂散的背景噪声过多时,腐蚀运算消去这些背景噪声,由于在进行腐蚀操作时,被测目标的轮廓也会被腐蚀掉一部分,因此就需要采用膨胀运算对目标轮廓进行恢复。开运算可以消除一些杂散噪声的影响,且可以保证被测目标的轮廓不变形。

  闭运算是采用先膨胀后腐蚀的方式进行的,膨胀运算可以把图像中一些小的断开或者目标区域背部的空洞补齐,然后由腐蚀预算把目标轮廓外围的一些噪声消掉。

闭运算处理以后的图片如下,可以看出,将有缺陷的部分补全。

          在这里插入图片描述 在这里插入图片描述
                ;a)处理之前        b)处理以后

图3 闭运算示意图
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值