图像噪声在不同区域的分布情况matlab源码
时间: 2024-03-07 09:25:19 浏览: 67
基于Matlab实现图像噪声概率密度分布(源码).rar
5星 · 资源好评率100%
以下是一个简单的 Matlab 代码示例,用于显示图像中不同区域的噪声分布情况。该代码使用了 Matlab 自带的 `imhist` 函数,该函数可以计算图像的灰度直方图。
```matlab
% 读取图像
img = imread('lena.png');
% 显示原始图像
subplot(2, 2, 1);
imshow(img);
title('Original Image');
% 添加高斯噪声
noise_img = imnoise(img, 'gaussian', 0, 0.01);
% 显示带噪声的图像
subplot(2, 2, 2);
imshow(noise_img);
title('Noisy Image');
% 计算噪声的灰度直方图
subplot(2, 2, 3);
imhist(noise_img);
title('Histogram of Noisy Image');
% 显示去噪后的图像
denoised_img = imgaussfilt(noise_img, 1);
subplot(2, 2, 4);
imshow(denoised_img);
title('Denoised Image');
```
该代码的核心部分是添加高斯噪声并计算噪声的灰度直方图。在这个例子中,我们使用了 `imnoise` 函数来添加高斯噪声,并使用 `imhist` 函数来计算噪声的灰度直方图。我们还使用了 `imgaussfilt` 函数来对带有噪声的图像进行高斯滤波,以便更好地展示去噪后的图像。
在运行上述代码后,你应该能够看到一个包含原始图像、带噪声的图像、噪声的灰度直方图以及去噪后的图像的图像窗口。这些图像可以帮助你更好地了解图像中不同区域的噪声分布情况。
阅读全文