OpenCV&图像处理_2:平滑smoothing模糊blurring操作

如之前所述,我个人在这个栏目下的所有文章大都是拷贝,拷贝和粘贴,有需要请阅读原文:

OpenCV,OpenCV中文论坛,和Richard Szeliski写的Computer Vision: Algorithms and Applications

这里谈谈我对OpenCV上平滑的理解:

就一幅数字图像来说,大多区域内都是较为平坦的,如果领域内有一两个点像素突然变化,一般认为是噪点。如果一些连续相近的点变化,认为是边缘。而滤波旨在消除噪声对于图像的影响,例如取中值或者均值不就能较好的消除椒盐噪声的影响吗?但是问题又来了,这样边缘的变化不就也被模糊了吗?所以就用到双边滤波(Bilateral Filter)


首先一个函数式,如图1所示:


图1 平滑操作的理论基础


OpenCV上的几个列子:

一:中值滤波

中值滤波是用中值像素代替核内所有像素。

void medianBlur(InputArray src, OutputArray dst, int ksize)

ksize为正方形核大小,必须奇数(如果偶数中值在哪?)。

如果是多通道图像则每个通道单独滤波,同时支持原地(in_place)滤波。

二:归一化滤波:

用核内所有像素的均值替换核内所有像素值

blur( src, dst, Size( i, i ), Point(-1,-1)

size指定核大小,Point(-1,-1)指定锚点位置(我个人认为就是中心点),默认(-1,-1)是核的中心。

归一化滤波的加权公式,如图2所示:


图2 均值滤波的公式

三:高斯滤波:

公式如下图3所示:


图3 高斯滤波

那么高斯滤波干什么事呢?这里有两个链接大家可以看看:

http://www.cnblogs.com/pegasus/archive/2011/05/20/2052031.html

http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm

四:最后就是双边滤波:

双边滤波就会很好的保留边缘信息,具体附上一个链接:

http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值