写一个添加了两种噪声的直方图均衡化且噪声有三种水平的matlab程序
时间: 2023-11-13 12:01:56 浏览: 97
当然可以!以下是一个示例的MATLAB程序,用于添加两种噪声(高斯噪声和椒盐噪声)并对图像进行直方图均衡化:
```matlab
% 读取原始图像
originalImage = imread('input.jpg');
% 添加高斯噪声
gaussianNoise = imnoise(originalImage, 'gaussian', 0, 0.01); % 0.01为方差
% 添加椒盐噪声
saltPepperNoise = imnoise(originalImage, 'salt & pepper', 0.05); % 0.05为噪声密度
% 对添加了噪声的图像进行直方图均衡化
gaussianEnhanced = histeq(gaussianNoise);
saltPepperEnhanced = histeq(saltPepperNoise);
% 显示结果
subplot(2,2,1), imshow(originalImage), title('原始图像');
subplot(2,2,2), imshow(gaussianNoise), title('添加高斯噪声');
subplot(2,2,3), imshow(gaussianEnhanced), title('直方图均衡化 (高斯噪声)');
subplot(2,2,4), imshow(saltPepperEnhanced), title('直方图均衡化 (椒盐噪声)');
```
请注意,此程序假设原始图像为名为“input.jpg”的文件。你需要将此文件名更改为你的实际图像文件名。此外,你还可以根据需要调整噪声的参数值和其他参数以获得更好的结果。
希望这能帮到你!如果你有任何其他问题,请随时提问。
阅读全文