opencv+c++高斯滤波
时间: 2023-07-01 14:06:05 浏览: 139
高斯滤波是一种常见的图像滤波方法,可以用来降低图像中的噪声和平滑图像。OpenCV是一款广泛使用的计算机视觉库,其中包含了高斯滤波的相关函数。
下面是使用OpenCV和C++实现高斯滤波的代码示例:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取图像
Mat image = imread("lena.jpg");
// 定义卷积核大小
int kernel_size = 5;
// 定义标准偏差(sigma)的值
double sigma = 1.0;
// 对图像进行高斯滤波
Mat filtered_image;
GaussianBlur(image, filtered_image, Size(kernel_size, kernel_size), sigma);
// 显示原始图像和滤波后的图像
imshow("Original Image", image);
imshow("Filtered Image", filtered_image);
waitKey(0);
return 0;
}
```
在上面的代码中,我们首先使用`imread`函数读取了一张名为“lena.jpg”的图像。然后,我们定义了卷积核的大小和标准偏差的值,并使用`GaussianBlur`函数对图像进行了高斯滤波。最后,我们使用`imshow`函数分别显示了原始图像和滤波后的图像。需要注意的是,在使用OpenCV中的图像处理函数时,需要包含`opencv2/opencv.hpp`头文件。
阅读全文