直方图均衡是一种简单有效的增强图像对比度的图像处理算法。
何为直方图?以灰度图为例,灰度共有0-255,256个像素值,从浅至深。因此直方图的横坐标即是这个256个像素值,纵坐标是图中像素值相对应的像素点的个数。即直方图是对图片像素点的统计。
如下图所示,lena图的原图像素分布是相对比较集中的,整体偏暗。我们希望通过均衡,使得直方图的分布像下图那样平滑,分散,从而增强图像对比度。
因此算法流程如下(以灰度图为例):
1.首先创建一个长为256的一维空数组H,一维数组的下标对应的就是不同的灰度级,数组内容就是对应的像素点数。
2.扫描整张图片,得到直方图数组H。
3.形成累积直方图,H[n]=H[n-1]+H[n]。
4.构造查找表,T[n]=round(255* (H[n]/像素点总数))
H[n]/像素