opencv之bilateralFilter()函数

原创 2018年04月17日 16:12:39

概述

bilateralFilter()函数可以对图像进行双边滤波。

API说明

C++ API:

void cv::bilateralFilter ( InputArray src, (原始图像:8-bit或floating-point,1-channel或3-channel)
OutputArray dst, (目标图像:size和type与原始图像相同)
int d, (过滤期间使用的各像素邻域的直径)
double sigmaColor, (色彩空间的sigma参数,该参数较大时,各像素邻域内相距较远的颜色会被混合到一起,从而造成更大范围的半相等颜色)
double sigmaSpace, (坐标空间的sigma参数,该参数较大时,只要颜色相近,越远的像素会相互影响)
int borderType=BORDER_DEFAULT (边界类型:指定如何确定图像范围外的像素的取值(在处理边缘像素时),可参考BorderTypes
)

python API:

dst = cv.bilateralFilter( src, d, sigmaColor, sigmaSpace[, dst[, borderType]]

功能说明

双边滤波器可以去除无关噪声,同时保持较好的边缘信息。
但是,其速度比绝大多数滤波器都慢。
关于双边滤波,可以参考:Bilateral Filter
关于2个sigma参数:

  • 简单起见,可以令2个sigma的值相等;
  • 如果他们很小(小于10),那么滤波器几乎没有什么效果;
  • 如果他们很大(大于150),那么滤波器的效果会很强,使图像显得非常卡通化;

关于参数d:

  • 过大的滤波器(d>5)执行效率低。
  • 对于实时应用,建议取d=5;
  • 对于需要过滤严重噪声的离线应用,可取d=9;
  • d>0时,由d指定邻域直径;
  • d<=0时,d会自动由sigmaSpace的值确定,且d与sigmaSpace成正比;

相关函数

官网样例

Smoothing.cpp

附录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duwangthefirst/article/details/79971369

opencv学习(二十二)之双边滤波bilateralFilter

双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空间与信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效...
  • keith_bb
  • keith_bb
  • 2017-01-14 18:35:00
  • 5724

双边滤波(Bilateral filter)

双边滤波器(Bilateral filter)是一种可以保边去噪的滤波器。可以滤除图像数据中的噪声,且还会保留住图像的边缘、纹理等(因噪声是高频信号,边缘、纹理也是高频信息,高斯滤波会在滤除噪声的同时...
  • MoFMan
  • MoFMan
  • 2017-08-22 17:12:44
  • 1419

opencv中常用的非线性滤波器--中值滤波medianBlur() 和 双边滤波bilateralFilter()

1.1 中值滤波 中值滤波的原理很简单,就是用像素点邻域灰度值的中值来代替该像素点的灰度。由于中值滤波是基于排序统计理论,所以其对脉冲噪声、椒盐噪声会有很好的滤波效果,并能保留图像的边缘细节。但是代...
  • kuweicai
  • kuweicai
  • 2017-07-06 22:42:08
  • 3120

影像平滑(medianBlur、bilateralFilter)

平滑濾波主要分兩種,線性濾波和非線性濾波: 線性濾波:有一個有固定參數的核心,常見的有平均平滑和高斯平滑。非線性濾波:沒有一個有固定的核心,常見的有中值濾波和雙邊濾波。 這邊我們介紹中值濾波和...
  • Liuqz2009
  • Liuqz2009
  • 2017-03-08 09:21:04
  • 272

【opencv一日一练】bilateralFilter

bilateralFilter 双边滤波,众多滤波函数的一种。
  • cau_eric
  • cau_eric
  • 2014-06-03 21:15:31
  • 3029

双边滤波bilateralFilter函数的使用示例程序

//--------------------------------------【程序说明】------------------------------------------- // 程序描述:双...
  • zouyu1746430162
  • zouyu1746430162
  • 2016-11-24 22:46:02
  • 835

双边滤波CUDA优化——BilateralFilter CUDA

转自:http://sangni007.blog.163.com/blog/static/174728148201481305957863/ =======双边滤波概述======= ...
  • u014568921
  • u014568921
  • 2015-06-23 16:22:06
  • 1802

bilateral filter

双边滤波器是什么? 双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。之所以可以达到此去噪效果,是因为滤波器是由两个函数构成。一个函数是由几何空间距离决定滤波器系数。另一个...
  • chezhai
  • chezhai
  • 2017-02-26 22:38:51
  • 126

OpenCV 双边滤波——bilateralFilter函数

http://blog.csdn.net/poem_qianmo/article/details/23184547 //-----------------------------------【程序说...
  • Eroslol
  • Eroslol
  • 2016-09-16 16:48:23
  • 2919

联合双边滤波器(joint bilateral filter)【OpenCV】

转载自:pplong的博客 前面介绍了双边滤波器(bilateral filter,LBF),然而BF的权值是不稳定的,因此在边缘附近会出现一些翻转。此外BF计算复杂度是O(r^2);为了改善BF权值...
  • panda1234lee
  • panda1234lee
  • 2016-10-17 15:46:35
  • 4100
收藏助手
不良信息举报
您举报文章:opencv之bilateralFilter()函数
举报原因:
原因补充:

(最多只允许输入30个字)