引言
直方图均衡化是一种图像处理方法,用于改善图像的对比度。这种方法通过调整图像的灰度级别分布来达到增强对比度的效果。
图像的直方图是灰度值与其出现频率的图形表示。在直方图中,横轴表示灰度级别(例如,在8位图像中,灰度级别的范围是0-255),纵轴表示每个灰度级别的像素数量。
在直方图均衡化中,目标是使得输出图像(即经过直方图均衡化处理的图像)的直方图尽可能地均匀分布,也就是说,每个灰度级别的像素数量尽可能相同。这样,图像的对比度会被最大化,因为整个可用的灰度范围都被有效地使用了。
histeq
是 MATLAB 中的一个函数,用于执行图像的直方图均衡化。
函数详解
基本语法:
J = histeq(I)
J = histeq(I,n)
[J,T] = histeq(__)
[J,T] = histeq(I,hgram)
[J,T] = histeq(I,hgram,n)
参数详解:
I
:输入图像,它应该是灰度图像。n
:一个标量,指定要使用的直方图箱子的数量。默认情况下,n
为 64。hgram
:一个向量,指定目标直方图。histeq
将修改图像I
,使其直方图匹配hgram
。
返回值详解:
J
:输出图像,它是输入图像I
的直方图均衡化版本。T
:一个查找表(LUT),将原始图像的灰度级别映射到均衡化图像的灰度级别。
应用案例
I = imread("Fig0320(2)(2nd_from_top).tif");figure;subplot(2, 2, 1);
imshow(I);
title("Original image")subplot(2, 2, 2);
imhist(I);eqI = histeq(I);subplot(2, 2, 3);
imshow(eqI);
title("Equalized image")subplot(2, 2, 4);
imhist(eqI);