opencv 把3通道图像转成单通道_【3】OpenCV图像处理模块(4)图像腐蚀与膨胀

94a4f29310cd13b915c28ba8baf856f9.png

本节学习使用图像处理中,两个形态学操作函数:腐蚀(cv::erode)和膨胀(cv::dilate)。


形态学变换

简单的说,就是一些基于形状的图像处理方法。用一个结构元素来处理输入图像,然后得到输出图像。(Learning OpenCV by Bradski and Kaehler)

最常见的形态学变换是腐蚀和膨胀。他们的作用是:

  • 用于移除噪声
  • 用于独立元素的分离,不同元素的连接
  • 用于寻找图像中灰度变换剧烈的位置或者孔洞。

接下来以下面图像为例,简要解释膨胀和腐蚀。

0f4d1a38c2187848cdc1edf2086b1946.png
原图像

膨胀

该运算是图像A与结构元素(核)B的卷积。B可以是任意形状或大小,通常使用正方形或圆形。

核B中定义一个anchor点,通常是核的中心。

随着核B遍历整幅图像,计算B覆盖图像区域的最大像素值,并用该值替换处于anchor点的像素值。可以推断出,这个操作会使图像中亮区域增长(因此称为膨胀)。膨胀运算公式为:

上面的图像膨胀后,可以看到字符区域的扩大,如下所示:

38b106150c8f1c0b7c51f1c94f7f36dc.png
图像膨胀

腐蚀

腐蚀跟膨胀正好相反。它得到的是核区域中的最小值。

同样,用核遍历图像,核覆盖区域中,图像的最小值作为核中心点对应像素值。因此图像中的亮区域会变小,如同被腐蚀掉。腐蚀运算公式:

腐蚀后的图像如下所示,字符区域变小,暗区域变大:

295d6d282b94396392d023f24b506f6c.png
图像腐蚀

代码及注释

// @tutorials imgproc module 4

结果

a729c926eae58c8da8dbe326e6a081ad.png
原图

拖动上面滚动条可以选择不同的结构元素,拖动下面滚动条可以设置结构元素的大小。下面是选择不同类型结构元素,大小都设置为3时的对比。

6c59afe824b696105057eb78b6982eb4.png
结构元素为矩形,大小为3×3。可以看到,左图右下角文字变成很多小方块,右图消失

0292c438d5f95f61152bc3d3033b83c6.png
结构元素为十字形,大小为3×3。可以看到,左图右下角文字变成很多十字形,右图消失

0edc40f96855ba4a47ab63de12e47c00.png
结构元素为椭圆形,大小为3×3。可以看到,左图右下角文字变成很多圆,右图消失
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值