MATLAB实现,已知一幅名为“timg.jpg”对比度不均衡的图像,分析其直方图的分布情况,并利用直方图均衡方法对其进行处理
时间: 2024-10-26 10:17:35 浏览: 38
在MATLAB中,你可以按照以下步骤对名为“timg.jpg”的对比度不均衡图像进行直方图均衡化处理:
1. **读取图像**:
使用`imread`函数读取图像数据:
```matlab
img = imread('timg.jpg');
```
2. **查看原始图像及直方图**:
利用`imhist`函数查看原图像的直方图,可以直观了解像素值分布情况:
```matlab
histOriginal = imhist(img);
figure; bar(histOriginal);
xlabel('Pixel intensity'); ylabel('Frequency');
title('Original Image Histogram');
```
3. **直方图均衡化**:
MATLAB内建了`imadjust`函数用于直方图均衡化,它会调整图像的亮度范围以改善对比度:
```matlab
imgEqualized = imadjust(img);
```
4. **查看处理后的直方图**:
对处理后的图像再次计算直方图并展示结果:
```matlab
histEqualized = imhist(imgEqualized);
figure; bar(histEqualized);
title('Histogram after Equalization');
```
5. **比较两张直方图**:
可以通过绘制两者的叠加图来直观对比直方图的变化:
```matlab
plot(histOriginal, 'b', histEqualized, 'r');
legend('Original', 'Equalized');
xlabel('Pixel intensity'); ylabel('Frequency');
title('Comparison of Original and Equalized Histograms');
```
阅读全文