Linux 高斯滤波c++代码
时间: 2023-07-24 08:57:39 浏览: 107
当然,我可以为您提供一个简单的高斯滤波的 C++ 代码示例:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 读取图像
Mat image = imread("input.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if (image.empty()) {
std::cout << "Could not open or find the image" << std::endl;
return -1;
}
// 定义高斯核大小和标准差
int kernelSize = 5;
double sigma = 1.0;
// 创建高斯核
Mat kernel = getGaussianKernel(kernelSize, sigma, CV_32F);
// 对图像进行高斯滤波
Mat result;
filter2D(image, result, -1, kernel);
// 显示原始图像和滤波结果
imshow("Original Image", image);
imshow("Gaussian Filtered Image", result);
waitKey(0);
return 0;
}
```
请确保已经安装了 OpenCV 库并正确配置了编译环境。这段代码加载了一张灰度图像,然后使用指定的高斯核大小和标准差对图像进行高斯滤波,并显示原始图像和滤波结果。
您可以根据自己的需要调整代码中的参数和输入图像路径。希望对您有所帮助!
阅读全文