opencv高斯滤波c
时间: 2024-06-18 09:01:39 浏览: 154
opencv c++ 高斯滤波
3星 · 编辑精心推荐
高斯滤波是一种常用的图像平滑处理方法,可以有效地去除图像中的噪声。OpenCV提供了GaussianBlur函数来实现高斯滤波。该函数的参数包括输入图像、输出图像、卷积核大小、高斯核标准差等。以下是一个使用OpenCV C++实现高斯滤波的示例代码:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main()
{
// 载入图像
Mat image = imread("1.jpg");
// 创建窗口
namedWindow("高斯滤波原图");
namedWindow("高斯滤波效果图");
// 显示原图
imshow("高斯滤波原图", image);
// 进行滤波
Mat out;
GaussianBlur(image, out, Size(7, 7), 0, 0);
// 显示滤波后的图像
imshow("高斯滤波效果图", out);
waitKey(0);
return 0;
}
在上述代码中,我们首先使用imread函数载入一张图像,然后创建两个窗口,分别用于显示原图和滤波后的图像。接着,我们调用GaussianBlur函数进行高斯滤波,将滤波后的结果保存在out中,并使用imshow函数显示滤波后的图像。最后,我们使用waitKey函数等待用户按下任意键,然后返回0结束程序。
阅读全文