matlab 提高图像对比度
时间: 2024-06-29 18:00:21 浏览: 170
在MATLAB中,调整图像对比度是常见的图像处理任务,可以帮助增强图像细节和可读性。以下是几种常用的方法:
1. **直方图均衡化(Histogram Equalization)**:
使用`imhisteq`函数对图像的灰度直方图进行平滑,使整个灰度级分布更加均匀,从而提高对比度。
```matlab
img = imread('your_image.jpg'); % 替换为你的图片文件名
eq_img = imhisteq(img);
```
2. ** Adaptive Histogram Equalization (自适应直方图均衡化)**:
如果需要局部对比度增强,可以使用`adapthisteq`函数,它会根据图像的局部特性进行调整。
```matlab
adapteq_img = adapthisteq(img);
```
3. **Contrast Stretching(拉伸对比)**:
可以通过设置最小值和最大值来调整图像的亮度范围,`imadjust`函数可以实现这个功能。
```matlab
[minVal, maxVal] = min(max(img(:))); % 获取原图像的最小和最大值
stretched_img = imadjust(img, [minVal, maxVal], []);
```
4. **Gamma Correction(伽马校正)**:
这种方法通过改变像素值与灰度之间的非线性关系来调整图像对比度,`imcompgamma`或`imadjust`函数可用于执行伽马校正。
```matlab
gamma = 0.8; % 可调整伽马值
gamma_corrected_img = imadjust(img, [], [], gamma);
```
阅读全文