当前位置:首页 > 代码 > 正文

双边滤波代码(双边滤波函数)

admin 发布:2022-12-19 03:10 86


今天给各位分享双边滤波代码的知识,其中也会对双边滤波函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

图像处理之双边滤波算法

双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效果是因为滤波器由两个函数构成:

一个函数是像素欧式距离决定滤波器模板的系数,另一个是由像素的灰度差值决定滤波器模板的系数。

其综合了高斯滤波器(Gaussian Filter)和α-截尾均值滤波器(Alpha-Trimmed mean Filter)的特点。高斯滤波器只考虑像素间的欧式距离,其使用的模板系数随着和窗口中心的距离增大而减小;Alpha截尾均值滤波器则只考虑了像素灰度值之间的差值,去掉α%的最小值和最大值后再计算均值。

双边滤波器使用二维高斯函数生成距离模板,使用一维高斯函数生成值域模板。

双边滤波器中,输出像素的值依赖于邻域像素的值的加权组合,其公式如下:

其中(k,l)为模板窗口的中心坐标;(i,j)为模板窗口的其他系数的坐标;σd为高斯函数的标准差。 使用该公式生成的滤波器模板和高斯滤波器使用的模板是没有区别的。

值域模板系数的生成公式如下:

其中,函数f(x,y)表示要处理的图像,f(x,y)表示图像在点(x,y)处的像素值;(k,l)为模板窗口的中心坐标;(i,j)为模板窗口的其他系数的坐标;σr为高斯函数的标准差。

将上述两个模板相乘就得到了双边滤波器的模板,其公式如下:

如何使用双边滤波处理小波系数代码

比如你要处理的信号叫x(n),是一个N点的序列。理想低通滤波器最简单,先对x(n)做FFT,得到频域特性X(k),然后把高频部分的数据改为0,最后在用IFFT变换转换到时域,就是理想滤波了,因为高频完全被抹掉了,而低频信息丝毫不变。其他滤波器就不能这样赖皮的做了,因为理想滤波器必须有无限多个抽头才能达到“高频完全被抹掉了,而低频信息丝毫不变”的效果。实际中是不可能的。其他滤波器就是根据你要的阶数先设计出滤波器的时域冲击响应h(n),再用filter( )函数让信号通过这个滤波器,这样来实现

bilateralFilter(双边滤波操作)

双边滤波 (Bilateral filter)是一种非线性的滤波方法,是结合图像的空间 邻近度 和像素值相似度的一种折中处理,同时考虑空域信息和 灰度 相似性,达到保边去噪的目的。

●源图像

●处理后图像

●函数原型

○c++

○Android

●参数解释

○src:源图像Mat对象,需要为8位或者浮点型单通道、三通道的图像

○dst:目标图像Mat对象,不能直接用src来存储处理后的图像

○d:表示在过滤过程中每个像素邻域的直径。如果这个值我们设其为非正数,那么OpenCV会从第五个参数sigmaSpace来计算出它来,在使用过程中我发现有点像模糊力度的意思。

○sigmaColor:颜色空间滤波器的sigma值。这个参数的值越大,就表明该像素邻域内有更宽广的颜色会被混合到一起,产生较大的半相等颜色区域。在使用过程中我发现有点像模糊范围的意思,范围越大看着越模糊

○sigmaSpace:坐标空间中滤波器的sigma值,坐标空间的标注方差。他的数值越大,意味着越远的像素会相互影响,从而使更大的区域足够相似的颜色获取相同的颜色。当d0,d指定了邻域大小且与sigmaSpace无关。否则,d正比于sigmaSpace。使用过程中我发现这个值越大,图像的过渡效果越好。

○borderType:使用默认即可,即不用填。

●c++中

●Android中

关于双边滤波代码和双边滤波函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/1465.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载