OpenCV-高斯滤波cv::GaussianBlur
Posted 翟大宝Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-高斯滤波cv::GaussianBlur相关的知识,希望对你有一定的参考价值。
函数原型
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;
}
测试效果
高斯滤波是一种线性平滑滤波,可有效消除高斯噪声,图像的高斯模糊过程也是图像与正态分布做卷积的过程,另外高斯函数的傅里叶变换也是高斯函数,所以高斯模糊也属于一个低通滤波操作~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!
以上是关于OpenCV-高斯滤波cv::GaussianBlur的主要内容,如果未能解决你的问题,请参考以下文章
学习 opencv--- 线性邻域滤波专场:方框滤波,均值滤波,高斯滤波