图像对比度增强matlab
时间: 2024-11-01 10:06:14 浏览: 21
图像对比度增强在MATLAB中是一个常见的图像处理步骤,主要用于提高图像的视觉效果和细节辨识能力。常用的对比度增强技术有:
1. **直方图均衡化(Histogram Equalization)**:通过计算每个像素值对应的灰度级的概率分布,然后映射到新的灰度级范围,使得图像的整体亮度分布更均匀,对比度增强。
```matlab
img = imread('your_image.jpg'); % 加载图片
img_eq = imhisteq(img); % 使用imhisteq函数进行直方图均衡化
```
2. **伽马校正(Gamma Correction)**:通过改变图像的亮度曲线,适用于纠正显示器导致的非线性显示问题,增加对比度。
```matlab
gamma = 0.8; % 设定伽马值
img_gamma = img.^gamma; % 对图像应用伽马变换
```
3. **拉伸法(Contrast Stretching)**:通过对图像像素值进行线性缩放,将最大和最小值调整为新的范围,例如(0, 255)。
```matlab
min_val = graythresh(img); % 计算阈值
max_val = uint8(max(img(:))); % 获取最大灰度值
img_stretch = uint8((img - min_val) * (max_val - 0) / (max(img(:)) - min_val));
```
4. **自适应增强(Adaptive Contrast Enhancement)**:针对局部区域调整对比度,如CLAHE(局部对比度增强)。
```matlab
img_adapteq = adapthisteq(img); % 使用adapthisteq函数进行自适应直方图均衡化
```
阅读全文