直方图均衡化
直方图均衡化
先说说什么是直方图,回想一下初中还是高中时代,好像数学课上讲过这个词,没错就是中学那个概念,直方图就是用来表征图像上像素值分布的柱状图。再直白一些,直方图就是统计图像上像素值为0的点有多少个,像素值为1的点有多少个,……,像素值为255的像素点有多少个。
直方图均衡化,顾名思义,让直方图均衡,或者说让图像上的像素点分布均匀。就是让像素点在(0,9)之间的个数和在(10,19)之间的个数,以及(240,249)之间的个数是一样多的,当然像素值是离散的,不可能做到完全一模一样多,但至少是相差无几。
直方图均衡化通常用来做对比度调整,但并不一定是对比度增强,有时候是对比度减弱。如果本来图像上像素值的分布是:趋于两端(靠近0或者靠近255)的点少,趋于中间的值多,那么均衡化的结果是增加了白点(接近255的点)和黑点(接近0的点)的数量,视觉上看就是对比度增强。反过来,如果是减少了白点和黑点的数量,那就是对比度减弱。
不过通常来说,都是对比度增强喽。
关于直方图均衡化怎么实现,维基百科上说的很清楚,清楚到不能再清楚了,就不赘述了。
直方图均衡化通常会被用到如下这张图,我也找来做了一下,均衡化之前,它是这样的:
直方图均衡化之后
喔,好明显。
再来看一下均衡化前后的直方图,均衡化之前,它是这样的:
均衡化之后,它是这样的:
和前面说的用线性变换的方法做对比度增强时的直方图对比一下,好像也差不多嘛,不过仔细看,直方图均衡化之后,像素点多的地方直方块分布的稀疏,像素点少的地方直方块分布的紧密。所以总体上看,直方图的分布趋于均匀啦。
换个角度看,可能更明显,我们把直方图做个积分,得到累积直方图。这不是什么高深的东西,所谓累积直方图只不过把直方图的数据做个累加,表征了图像上像素值小于1的像素有多少个,小于2的像素有多少个,……,小于255的像素有多少个。
下面是均衡化前后的累积直方图,直方图均衡化的意义再清楚不过了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!