GaussianBlur
Blurs an image using a Gaussian filter.
C++: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT )
Parameters
src – input image; the image can have any number of channels, which are processed independently,but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
dst – output image of the same size and type as src.
ksize – Gaussian kernel size. ksize.width and ksize.height can differ but they both must be positive and odd. Or, they can be zero’s and then they are computed from sigma* .
sigmaX – Gaussian kernel standard deviation in X direction.
sigmaY – Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height , respectively (see getGaussianKernel() for details); to fully control the result regardless of possible future modifications of all this semantics, it is recommended to specify all of ksize, sigmaX, and sigmaY.
borderType – pixel extrapolation method (see borderInterpolate() for details).
The function convolves the source image with the specified Gaussian kernel. In-place filtering is supported.
See Also:
sepFilter2D(), filter2D(), blur(), boxFilter(), bilateralFilter(), medianBlur()
///////////////////////////// ------- 中文解释 ---------------------- ////////////////////////////////
GaussianBlur函数——高斯滤波
GaussianBlur函数的作用是用高斯滤波器来模糊一张图片,对输入的图像src进行高斯滤波后用dst输出。
函数原型如下:
C++: void GaussianBlur(InputArray src,OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, intborderType=BORDER_DEFAULT )
参数详解如下:
/////////////// ----------- 示例代码 -------------- //////////////////////////////
<span style="font-size:18px;">imshow("src",src); GaussianBlur(src,dst,Size(7,7),0,0); imshow("dst - Size(7,7) - sigmaX=0 - sigmaY=0 ",dst); GaussianBlur(src,dst,Size(3,3),1.5,1.5); imshow("dst - Size(3,3) - sigmaX=1.5 - sigmaY=1.5 ",dst);</span>
效果: