当前位置: 首页 > 工具软件 > blur-api-cpp > 使用案例 >

opencv之GaussianBlur()函数

卢光远
2023-12-01

opencv之GaussianBlur()函数

2018年04月17日 16:42:50 duwangthefirst 阅读数:1507 标签: opencvGaussianFilter高斯滤波图像去噪图像平滑 更多

个人分类: OpenCV

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

概述

GaussianBlur()函数用高斯滤波器(GaussianFilter)对图像进行平滑处理。 
该函数将源图像与指定的高斯内核进行卷积,同时也支持in-place滤波。

API说明

C++ API:

void cv::GaussianBlur(InputArraysrc,(原始图像:channels不限,各通道单独处理;depth应当是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F)
  OutputArraydst,(目标图像:与原始图像size和type一致)
  Sizeksize,(高斯核大小,ksize.width和ksize.height可以不同,但是都必须为正的奇数(或者为0,此时它们的值会自动由sigma进行计算))
  doublesigmaX,(高斯核在x方向的标准差)
  doublesigmaY=0,(高斯核在y方向的标准差(sigmaY=0时,其值自动由sigmaX确定(sigmaY=sigmaX);sigmaY=sigmaX=0时,它们的值将由ksize.width和ksize.height自动确定))
  intborderType=BORDER_DEFAULT(像素外插策略,可参考BorderTypes
 )   

python API:

    
dst=cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]

功能说明

关于参数ksize:

  • ksize.width和ksize.height可以不同
  • 取值有2种情况: 
    • 可以是正的奇数
    • 也可以是0,此时它们的值会自动由sigma进行计算

关于参数sigmaX和sigmaY:

  • sigmaY=0时,其值自动由sigmaX确定(sigmaY=sigmaX);
  • sigmaY=sigmaX=0时,它们的值将由ksize.width和ksize.height自动确定;

相关函数

sepFilter2D 
filter2D 
blur 
boxFilter 
bilateralFilter 
medianBlur

官网样例

laplace.cpp 
Smoothing.cpp 
Sobel_Demo.cpp.

附录

 类似资料: