用基础的C语言读入一张图像并对其进行中值滤波处理
时间: 2023-12-03 13:05:06 浏览: 120
读入图像和中值滤波处理都需要使用图像处理库,常见的库有OpenCV和ImageMagick等。以下是使用OpenCV库进行中值滤波处理的C语言代码示例:
```c
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
if (argc != 2)
{
printf("Usage: %s <image_path>\n", argv[0]);
return -1;
}
Mat image;
image = imread(argv[1], IMREAD_COLOR);
if (image.empty())
{
printf("Could not open or find the image: %s\n", argv[1]);
return -1;
}
namedWindow("Original image", WINDOW_AUTOSIZE);
imshow("Original image", image);
Mat image_median;
medianBlur(image, image_median, 5); //中值滤波,窗口大小为5
namedWindow("Median filtered image", WINDOW_AUTOSIZE);
imshow("Median filtered image", image_median);
waitKey(0);
return 0;
}
```
其中,`imread`函数用于读入图像,`medianBlur`函数用于进行中值滤波处理,中值滤波窗口大小为5。运行程序时需要传入待处理的图像路径作为命令行参数。
阅读全文