用vs opencv写代码实现中值滤波
时间: 2023-08-07 14:33:49 浏览: 35
好的,中值滤波是一种常见的图像处理方法,可以用于去除图像中的噪声。下面是使用 OpenCV 在 Visual Studio 中实现中值滤波的示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("lena.jpg", IMREAD_GRAYSCALE);
if (image.empty())
{
cout << "Could not open or find the image!" << endl;
return -1;
}
Mat dst;
medianBlur(image, dst, 3); // 中值滤波核大小为 3x3
imshow("Original Image", image);
imshow("Filtered Image", dst);
waitKey(0);
return 0;
}
```
在这个示例中,我们首先读取了一张灰度图像 `lena.jpg`,然后使用 `medianBlur` 函数进行中值滤波。函数的第一个参数是源图像,第二个参数是输出图像,第三个参数是中值滤波核的大小。在这里,我们使用了 3x3 的核进行滤波。
最后,我们将原始图像和滤波后的图像分别显示出来,等待用户按任意键结束程序。
希望对你有所帮助!