作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
函数原型
void GaussianBlur( InputArray src, OutputArray dst, Size ksize,
double sigmaX, double sigmaY = 0,
int borderType = BORDER_DEFAULT );
参数说明
- InputArray类型的src,输入图像,如Mat类型。
- OutputArray类型的dst,输出图像。
- Size类型的ksize,高斯内核的大小。
- double类型的sigmaX,高斯核函数在X方向的标准偏差。
- double类型的sigmaY,高斯核函数在Y方向的标准偏差。
- int类型的borderType,推断图像边缘像素的边界模式。
测试代码
#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
int main(void)
{
cv::Mat test = imread("long.jpg");
cv::Mat result;
cv::GaussianBlur(test, result, Size(7, 7),0,0);
imshow("original", test);
imshow("result", result);
waitKey(0);
system("pause");
return 0;
}
测试效果



高斯滤波是一种线性平滑滤波,可有效消除高斯噪声,图像的高斯模糊过程也是图像与正态分布做卷积的过程,另外高斯函数的傅里叶变换也是高斯函数,所以高斯模糊也属于一个低通滤波操作~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容