matlab数字图像的直方图均衡
时间: 2024-01-07 17:22:02 浏览: 91
数字图像直方图均衡化
5星 · 资源好评率100%
Matlab中数字图像的直方图均衡可以通过以下步骤实现:
1.读取图像并将其转换为灰度图像(如果原始图像不是灰度图像)。
2.计算图像的灰度直方图。
3.计算原图的灰度分布概率。
4.计算原图灰度的累计分布。
5.计算原、新图灰度值的影射关系。
6.使用影射关系对原始图像进行直方图均衡化。
7.显示原始图像和均衡化后的图像。
下面是一个示例代码:
```matlab
% 读取图像并转换为灰度图像
img = imread('lena.jpg');
gray_img = rgb2gray(img);
% 计算灰度直方图
hist = imhist(gray_img);
% 计算灰度分布概率
p = hist / numel(gray_img);
% 计算灰度的累计分布
cdf = cumsum(p);
% 计算原、新图灰度值的影射关系
map = uint8(255 * cdf);
% 对原始图像进行直方图均衡化
eq_img = map(gray_img + 1);
% 显示原始图像和均衡化后的图像
subplot(1, 2, 1), imshow(gray_img), title('原始图像');
subplot(1, 2, 2), imshow(eq_img), title('均衡化后的图像');
```
阅读全文