opencv之GaussianBlur()函数

概述

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

API说明

C++ API:

void cv::GaussianBlur ( InputArray src, (原始图像:channels不限,各通道单独处理;depth应当是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F)
OutputArray dst, (目标图像:与原始图像size和type一致)
Size ksize, (高斯核大小,ksize.width和ksize.height可以不同,但是都必须为正的奇数(或者为0,此时它们的值会自动由sigma进行计算))
double sigmaX, (高斯核在x方向的标准差)
double sigmaY=0, (高斯核在y方向的标准差(sigmaY=0时,其值自动由sigmaX确定(sigmaY=sigmaX);sigmaY=sigmaX=0时,它们的值将由ksize.width和ksize.height自动确定))
int borderType=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.

附录

你可能感兴趣的:(OpenCV)