写一个在三个水平下的两种噪声,对图片进行直方图均衡化的matlab程序
时间: 2024-04-08 17:34:39 浏览: 133
下面是一个在三个水平下添加两种噪声并对图像进行直方图均衡化的MATLAB程序示例:
```matlab
% 读取原始图像
originalImage = imread('original_image.jpg');
originalImage = rgb2gray(originalImage); % 如果是彩色图像,转换为灰度图像
% 添加高斯噪声
gaussianNoiseImage = imnoise(originalImage, 'gaussian', 0, 0.02);
% 添加椒盐噪声
saltPepperNoiseImage = imnoise(originalImage, 'salt & pepper', 0.05);
% 直方图均衡化
equalizedGaussianImage = histeq(gaussianNoiseImage);
equalizedSaltPepperImage = histeq(saltPepperNoiseImage);
% 显示结果
subplot(2, 2, 1), imshow(originalImage), title('原始图像');
subplot(2, 2, 2), imshow(gaussianNoiseImage), title('添加高斯噪声');
subplot(2, 2, 3), imshow(saltPepperNoiseImage), title('添加椒盐噪声');
subplot(2, 2, 4), imshow(equalizedGaussianImage), title('高斯噪声图像直方图均衡化');
figure;
subplot(1, 2, 1), imshow(equalizedSaltPepperImage), title('椒盐噪声图像直方图均衡化');
```
请确保在运行程序之前,将`original_image.jpg`替换为实际的图像文件名,并确保图像文件与程序在同一目录下。此示例程序假设原始图像为灰度图像,如果是彩色图像,请使用`rgb2gray`函数将其转换为灰度图像。
这个程序首先读取原始图像,然后分别添加高斯噪声和椒盐噪声,接着对添加噪声后的图像进行直方图均衡化操作,最后显示原始图像、添加噪声后的图像以及直方图均衡化后的结果图像。
请注意,噪声参数和直方图均衡化的方法可以根据实际需求进行调整和修改。
阅读全文