怎么用matlab实现直方图均衡化
时间: 2024-05-07 15:22:23 浏览: 87
直方图均衡化是一种用来增强图像对比度的技术,可以通过对图像像素值的分布进行调整来实现。在Matlab中,可以使用以下代码实现直方图均衡化:
```matlab
% 读取图像
img = imread('example.jpg');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 计算图像的直方图
histo = imhist(gray_img);
% 对直方图进行均衡化
eq_histo = histeq(gray_img);
% 显示原始图像和均衡化后的图像
figure;
subplot(1,2,1);
imshow(gray_img);
title('Original Image');
subplot(1,2,2);
imshow(eq_histo);
title('Equalized Image');
```
在上述代码中,首先读取图像并将其转换为灰度图像。然后计算灰度图像的直方图,并使用`histeq`函数对直方图进行均衡化。最后,使用`subplot`和`imshow`函数将原始图像和均衡化后的图像显示在同一张图像上。
阅读全文