写一个在三个水平下的两种噪声,对图片进行直方图均衡化的matlab程序
时间: 2024-04-08 09:34:41 浏览: 35
以下是一个在三个不同水平下添加两种噪声,并对图像进行直方图均衡化的 MATLAB 程序示例:
```matlab
% 读取原始图像
originalImage = imread('your_image.jpg');
% 显示原始图像
figure;
subplot(2, 2, 1);
imshow(originalImage);
title('Original Image');
% 添加高斯噪声(低水平)
noisyImage_gaussian_low = imnoise(originalImage, 'gaussian', 0, 0.01);
% 显示添加高斯噪声(低水平)后的图像
subplot(2, 2, 2);
imshow(noisyImage_gaussian_low);
title('Noisy Image - Gaussian (Low)');
% 直方图均衡化(低水平)
equalizedImage_gaussian_low = histeq(noisyImage_gaussian_low);
% 显示直方图均衡化(低水平)后的图像
subplot(2, 2, 3);
imshow(equalizedImage_gaussian_low);
title('Equalized Image - Gaussian (Low)');
% 添加高斯噪声(中水平)
noisyImage_gaussian_medium = imnoise(originalImage, 'gaussian', 0, 0.05);
% 显示添加高斯噪声(中水平)后的图像
subplot(2, 2, 4);
imshow(noisyImage_gaussian_medium);
title('Noisy Image - Gaussian (Medium)');
% 直方图均衡化(中水平)
equalizedImage_gaussian_medium = histeq(noisyImage_gaussian_medium);
% 显示直方图均衡化(中水平)后的图像
figure;
subplot(2, 2, 1);
imshow(equalizedImage_gaussian_medium);
title('Equalized Image - Gaussian (Medium)');
% 添加高斯噪声(高水平)
noisyImage_gaussian_high = imnoise(originalImage, 'gaussian', 0, 0.1);
% 显示添加高斯噪声(高水平)后的图像
subplot(2, 2, 2);
imshow(noisyImage_gaussian_high);
title('Noisy Image - Gaussian (High)');
% 直方图均衡化(高水平)
equalizedImage_gaussian_high = histeq(noisyImage_gaussian_high);
% 显示直方图均衡化(高水平)后的图像
subplot(2, 2, 3);
imshow(equalizedImage_gaussian_high);
title('Equalized Image - Gaussian (High)');
% 添加椒盐噪声(低水平)
noisyImage_saltPepper_low = imnoise(originalImage, 'salt & pepper', 0.01);
% 显示添加椒盐噪声(低水平)后的图像
subplot(2, 2, 4);
imshow(noisyImage_saltPepper_low);
title('Noisy Image - Salt & Pepper (Low)');
% 直方图均衡化(低水平)
equalizedImage_saltPepper_low = histeq(noisyImage_saltPepper_low);
% 显示直方图均衡化(低水平)后的图像
figure;
subplot(2, 2, 1);
imshow(equalizedImage_saltPepper_low);
title('Equalized Image - Salt & Pepper (Low)');
% 添加椒盐噪声(中水平)
noisyImage_saltPepper_medium = imnoise(originalImage, 'salt & pepper', 0.05);
% 显示添加椒盐噪声(中水平)后的图像
subplot(2, 2, 2);
imshow(noisyImage_saltPepper_medium);
title('Noisy Image - Salt & Pepper (Medium)');
% 直方图均衡化(中水平)
equalizedImage_saltPepper_medium = histeq(noisyImage_saltPepper_medium);
% 显示直方图均衡化(中水平)后的图像
subplot(2, 2, 3);
imshow(equalizedImage_saltPepper_medium);
title('Equalized Image - Salt & Pepper (Medium)');
% 添加椒盐噪声(高水平)
noisyImage_saltPepper_high = imnoise(originalImage, 'salt & pepper', 0.1);
% 显示添加椒盐噪声(高水平)后的图像
subplot(2, 2, 4);
imshow(noisyImage_saltPepper_high);
title('Noisy Image - Salt & Pepper (High)');
% 直方图均衡化(高水平)
equalizedImage_saltPepper_high = histeq(noisyImage_saltPepper_high);
% 显示直方图均衡化(高水平)后的图像
figure;
subplot(2, 2, 1);
imshow(equalizedImage_saltPepper_high);
title('Equalized Image - Salt & Pepper (High)');
```
请确保将代码中的 `'your_image.jpg'` 替换为你的原始图像文件的路径和文件名。此外,你可以根据需要调整噪声水平和其他参数。
阅读全文