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 | ( | 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.
附录
无