直方图均衡化
均衡化处理的目的是得到比原图具有更高对比度的扩展了动态范围的图像。
原理
假设灰度级为归一化至范围[0,1]内的连续量,并令pr(r)p_r(r)pr(r)表示给定图像中灰度级的概率密度函数。对输入灰度级执行如下操作,得到输出灰度级S:
S=T(r)=∫0rpr(w)dwS = T(r) = \int_0^rp_r(w)dw S=T(r)=∫0rpr(w)dw
得到的输出灰度级的概率密度函数是均匀的。
也就是通过对给定图像的灰度级概率密度函数进行一个积分处理,得到新的输出灰度级。通过这种变换得到的新图像灰度级在范围[0,1]比较均衡化。
histeq
函数histeq可以实现直方图的均衡化。
调用格式
J = histeq(I,hgram)
对灰度图像I进行变换,使得输出灰度图像J的直方图与目标直方图hgram近似匹配。
J = histeq(I,n)
变换灰度图像I,在J中返回具有n个离散灰度级的灰度图像。大致相等的像素数被映射到J中的n个级别中的每一个,使得J的直方图近似平坦。当n远小于I中的离散层数时,J的直方图更平坦。
使用示例
I = imread('figure1.jpg');J = histeq(I);imshowpair(I,J,'montage')
得到原图与均衡后的图片如下所示:
可见,经过均衡化后的图片,对比度明显增强。