用Matlab实现(1)读入灰度图像rice.tif,存入矩阵I (2)显示I图像的直方图 入矩阵J (3)选择64灰度级进行直方图均衡化,均衡化之后结果存 (4) 新开一个图像窗口 (5) 将图像窗口划分为2行1列,第一子窗口显示图像矩阵J,第二子窗口显示J图像的直方图
时间: 2024-09-19 21:01:36 浏览: 78
在MATLAB中,你可以按照以下步骤来实现这些操作:
1. **读取灰度图像**:
```matlab
I = imread('rice.tif'); % 读取rice.tif文件,得到灰度图像
```
2. **显示图像直方图**:
```matlab
figure; % 打开一个新的图形窗口
imhist(I); % 显示图像I的直方图
title('Original Image Histogram');
```
3. **直方图均衡化** (注意MATLAB中的直方图均衡化函数叫`imadjust`而不是直接处理数组,因为均衡化通常涉及动态范围调整):
```matlab
[J, hist] = imadjust(I, [0 63], [0 255]); % 使用64个灰度级别进行均衡化,均衡化后的结果赋值给J
```
请注意,`imadjust`会返回两个结果,一个是均衡化的图像矩阵J,另一个是原图像的直方图。
4. **创建新窗口并展示**:
```matlab
% 新开一个图像窗口
hFig = figure;
% 划分图像窗口
subplot(2, 1, 1);
imshow(J); % 第一子窗口显示均衡化后的图像
title('Histogram Equalized Image');
subplot(2, 1, 2);
plot(hist); % 第二子窗口显示J图像的直方图
title('Histogram of the Original Image');
xlabel('Gray Level');
ylabel('Frequency');
```
完成以上所有操作后,你将看到两个子窗口,第一个显示均衡化后的图像,第二个显示原始图像的直方图。记得保存当前的工作区以便后续查看。
阅读全文