试编写对图像进行高斯噪声加噪处理的c语言程序
时间: 2023-10-26 19:18:39 浏览: 121
用C语言对图像加高斯噪声
5星 · 资源好评率100%
以下是一个简单的对图像进行高斯噪声加噪处理的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
int main(int argc, char** argv)
{
if (argc != 2)
{
printf("Usage: %s <image>\n", argv[0]);
return -1;
}
// 加载图像
IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
if (!img)
{
printf("Unable to load image %s\n", argv[1]);
return -1;
}
// 添加高斯噪声
cvSmooth(img, img, CV_GAUSSIAN, 5, 5, 0, 0);
// 保存图像
cvSaveImage("noisy_image.jpg", img);
// 显示图像
cvNamedWindow("Original", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Noisy", CV_WINDOW_AUTOSIZE);
cvShowImage("Original", img);
IplImage* noisy_img = cvLoadImage("noisy_image.jpg", CV_LOAD_IMAGE_GRAYSCALE);
cvShowImage("Noisy", noisy_img);
cvWaitKey(0);
// 释放图像
cvReleaseImage(&img);
cvReleaseImage(&noisy_img);
return 0;
}
```
该程序使用OpenCV库加载图像,并使用cvSmooth函数为图像添加高斯噪声。最后,程序将添加噪声后的图像保存到文件中,并在窗口中显示原始图像和添加噪声后的图像。
阅读全文