matlab进行直方图均衡化
时间: 2024-09-20 17:10:01 浏览: 97
在MATLAB中,直方图均衡化是一种常见的图像增强技术,用于改善图像对比度,使得灰度级分布更均匀。它通过调整像素值,使得原图像中较暗部分变得更亮,较亮部分变得更暗,从而扩展了整个图像的动态范围。
下面是使用MATLAB内置函数`imadjust`进行直方图均衡化的简单步骤:
```matlab
% 加载图像
img = imread('your_image.jpg'); % 替换为你的图像文件名
% 计算原始图像的直方图
histogram = imhist(img);
% 定义新的灰度范围 (0, 256) 或者自定义范围
newMin = 0;
newMax = 255;
% 进行直方图均衡化
equi_img = imadjust(img, [histogram(1), histogram(end)], [newMin, newMax]);
% 显示原始图像和处理后的图像
subplot(1, 2, 1);
imshow(img);
title('Original Image');
subplot(1, 2, 2);
imshow(equi_img);
title('Histogram Equalized Image');
```
在这个例子中,`imadjust`函数接受三个输入参数:原始图像、旧灰度范围(这里是原直方图的上下限)和新灰度范围(用户自定义)。执行后,图像会按照新的灰度级别分布显示,增强了对比度。
阅读全文