参考自:https://www.jianshu.com/p/b9f29f78786b?from=timeline&isappinstalled=0
https://blog.csdn.net/u013263891/article/details/82987417
代码传送门:https://blog.csdn.net/jiDxiaohuo/article/details/100889095
直方图处理
灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。
![](http://upload-images.jianshu.io/upload_images/14512145-ba0f079c0c4cae2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/800/format/webp)
由图像可以得到的一些直方图的性质:
a.图形直观可以发现它首先是一个一维离散函数图像。
b.直方图表示一幅图像中不同灰度像素出现的统计信息,它只能反映该图像中不同灰度值出现的频数(概率),而不能表示出像素的位置等其他信息。
c.任何一幅特定的图像都有唯一的直方图与之对应,但不同的图像可以有相同的直方图。
根据直方图的形态可以大致推断图像质量的好坏。由于图像包含有大量像元,其像元灰度值分布应符合概率统计分布规律。假定像元的灰度值是随机分布,那么其直方图应该是正态分布。
直方图的均衡化
直方图均衡化是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。![](http://upload-images.jianshu.io/upload_images/14512145-00fe287382bd0be3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/731/format/webp)
![](http://upload-images.jianshu.io/upload_images/14512145-3899a83afe02ad4a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
接下来就推导一下均衡化的过程:
首先考虑连续的灰度值,用变量 r 表示输入图像的灰度,用 s 表示输出图像的灰度。r 范围是 [ 0, L-1],则函数: s = T(r), r 的范围:[0 , L-1] (0为全黑,L-1为全白)。
T(r)满足下列两个条件:
- 1.T( r )在区间0≤r≤1中为 严格单调递增函数,保证原图各灰度级在变换后仍保持从黑 到白(或从白到黑)的排列次序)
- 2.当0≤r≤1时,0≤T( r ) ≤1,保证变换前后灰度值动态范围的一致性。
在处理的过程中需要引入重要的变换函数: