clear all; close all;
I = imread('tire.tif');
J = histeq(I);
figure;
subplot(121);
imshow(uint8(I));
title('Original Image');
subplot(122);
imshow(uint8(J));
title('Equalized Image');
figure;
subplot(121);
imhist(I, 64);
title('Original Image Histogram');
subplot(122);
imhist(J, 64);
title('Equalized Image Histogram');
解释:
-
clear all; close all;
:清空工作空间中的所有变量并关闭所有图形窗口。 -
I = imread('tire.tif');
:读取名为tire.tif
的图像,并赋值给I
。 -
J = histeq(I);
:使用histeq
函数对图像I
进行直方图均衡化,并赋值给J
。直方图均衡化是一种提高图像对比度的方法,它通过重新分配像素值来使图像的直方图更加平坦,从而增强图像的局部对比度。 -
figure;
:创建一个新的图形窗口。 -
subplot(121); imshow(uint8(I));
:在第一个子图(1,2,1)中显示原始图像I
,将其数据类型转换回无符号8位整数,并添加标题"Original Image"。 -
subplot(122); imshow(uint8(J));
:在第二个子图(1,2,2)中显示直方图均衡化后的图像J
,将其数据类型转换回无符号8位整数,并添加标题"Equalized Image"。 -
figure;
:创建另一个新的图形窗口。 -
subplot(121); imhist(I, 64);
:在第一个子图(1,2,1)中显示原始图像I
的直方图,使用64个灰度级别进行计算,并添加标题"Original Image Histogram"。 -
subplot(122); imhist(J, 64);
:在第二个子图(1,2,2)中显示直方图均衡化后的图像J
的直方图,使用64个灰度级别进行计算,并添加标题"Equalized Image Histogram"。
拓展:
- 保存处理后的图像:可以将直方图均衡化后的图像
J
保存为文件。
% 保存直方图均衡化后的图像
imwrite(uint8(J), 'tire_equalized.png');
-
分析直方图均衡化效果:可以比较原始图像和直方图均衡化后的图像的直方图,分析均衡化对图像对比度和亮度分布的影响。
-
尝试不同参数的直方图均衡化:可以尝试使用不同的参数进行直方图均衡化,比如不同的灰度级别数量。
-
应用其他图像增强技术:可以结合使用其他图像增强技术,如锐化、滤波等,以进一步提高图像质量。