opencv高斯滤波去除噪点c++
时间: 2024-06-18 15:01:56 浏览: 103
OpenCV(Open Source Computer Vision Library)是一个广泛使用的计算机视觉库,提供了许多图像处理和计算机视觉算法,包括噪声去除。其中,高斯滤波是一种常用的方法,用于平滑图像并去除噪声。在C++中,你可以使用OpenCV的`cv:: GaussianBlur`函数来实现高斯滤波。
以下是一个简单的步骤来使用OpenCV进行高斯滤波:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 1. 导入图像
cv::Mat src_image = cv::imread("path_to_your_image.jpg", cv::IMREAD_GRAYSCALE); // 读取灰度图像
if (src_image.empty()) {
std::cout << "Failed to load image." << std::endl;
return -1;
}
// 2. 定义高斯滤波器的参数
int kernel_size = 5; // 高斯核大小
double sigma = 0; // 如果sigma为0,将根据kernel_size自适应计算
// 3. 应用高斯滤波
cv::Mat blurred_image;
cv::GaussianBlur(src_image, blurred_image, cv::Size(kernel_size, kernel_size), sigma);
// 4. 显示原图和去噪后的图像
cv::imshow("Original Image", src_image);
cv::imshow("Blurred Image", blurred_image);
cv::waitKey(0); // 等待用户按键
// 5. 释放资源
cv::destroyAllWindows();
return 0;
}
```
阅读全文