数字图像处理实验五直方图均衡化和规定化
1. 进入 Matlab 7.3 集成开发环境,并打开脚本编辑器。
2. 在脚本编辑器中编写一段程序,要求:
(1) 读入存放在 tire.tif 中的原始图像;
(2) 用函数 histeq 对该图像进行直方图均衡化处理,并显示结果图像;
(3) 用函数 imhist 分别对原始图像和直方图均衡化后图像进行直方图统计,并显示结果。
3. 将编写的程序保存为 Example3_2_3EquGrayImage1.m 。
4. 运行该程序,并比较原始图像与结果图像,以结果来检验直方图均衡化增强的效果。
5. 修改原来的程序,将所有图像放置在一个窗口中显示对比,并:
(1) 用 load woman 调入一幅索引图像进行直方图均衡化处理;
(2) 读入存放在 lena.jpg 中的原始图像,用该图像的直方图去规定化 tire.tif
图像的直方图,并统计直方图规定化后图像的直方图与 lena.jpg 图像直方图,进行比较;
(3) 将结果保存在 Example3_2_3EquGrayImage2.m 中,并运行验证结果。
%%Example3_2_3EquGrayImage1
clear;
clc;
TIF=imread('tire.tif');%%读入TIF图像
J=histeq(TIF);%%函数 histeq 对该图像进行直方图均衡化处理
H.color=[1 1 1];%%设置背景为白色,打开原图像
figure(H);
subplot(221);
imshow(J);
title('直方图均衡化处理图');
subplot(222);
imhist(J);
subplot(223);
imshow(TIF);
title('原图');
subplot(224);
imhist(TIF);
%%Example3_2_3EquGrayImage2
clear;
clc;
TIF=imread('tire.tif');%%读入TIF图像
%%函数 histeq 对该图像进行直方图均衡化处理
J=histeq(TIF);
H.color=[1 1 1];%%设置背景为白色,打开原图像
figure(H);
subplot(221);
imshow(J);
title('直方图均衡化处理图');
subplot(222);
imhist(J);
subplot(223);
imshow(TIF);
title('原图');
subplot(224);
imhist(TIF);
%%调入一幅索引图像进行直方图均衡化处理
RGB=imread('greenleaf.jpg');%%读入RGB图像
[X,map]=rgb2ind(RGB,64);%%转化为64级索引图象
newmap=histeq(X,map);
figure(H);
subplot(121);
imshow(X);
title('索引图像');
subplot(122);
imshow(newmap);
title('索引图像-直方图均衡化处理图');
%%用图像的直方图去规定化tire.tif图像的直方图
E=histeq(RGB,J);
figure(H);
subplot(121);
imshow(E);
subplot(122);
imshow(TIF);