计算机视觉中的直方图均衡化——原理解析

这一讲,将给大家介绍下直方图的相关概念,以及有关直方图的一个重要算法:直方图均衡化。

首先,讲讲什么是直方图吧。

相信大家小学的时候都学过统计直方图吧?

就是上面这样的图,就叫做统计直方图。比如说,统计一个班里所有小朋友们的身高,体重等等各方面的属性。每个小的区间代表一个范围,那么如果来一个小朋友,他的身高是y,那么去看看y在所对应的小区间在横轴上的位置,然后在该位置所对应的纵轴上+1就行了。

其实在图像处理中,直方图也是为了表述这个意思的。

我们都知道一幅图像其实是一个二维的matrix,那么这个matrix每个位置[i,j]必定对应一个[0,255]的数值。假设这个时候图像对应的灰度级为[0,L-1],那么直方图其实就是这样的一个函数:

很多读者可能会问,直方图到底有什么作用呢?

其实直方图是很多空间域图像处理技术的基础,可以有效的用于图像增加,图像压缩与分割等各个方面,所以说,还是好好地把这些基础的东西掌握了吧。

来看看上面的这些图吧。

上面四幅图同时反映了一个花粉图像的四个基本灰度级特征(依次为暗,亮,低对比度,高对比度),图的右侧对应了每幅图像各自的直方图(是不是和小学学直方图的样子基本是一样的呢?)

通过观察上述的四幅图,我们发现:

  • 在较暗的图中,直方图的组成成分集中在灰度级低的一侧
  • 在比较亮的图中,直方图的组成成分集中在了灰度级高的一侧
  • 在低对比度的图中,直方图窄而且集中在中间的区域
  • 在高对比度的图中,直方图覆盖了灰度级很宽的范围,而且像素的分布没有太不均匀

那么,通过上面的结论,我们如果要从美学的角度好好欣赏一幅灰度图,是不是得尽可能保证 该图像的直方图尽可能覆盖全部可能的灰度级并且分布均匀呢,那么这样的图像就有了高对比度和多变的灰度色调。

So,这个时候直方图的均衡化就诞生了。

我们试图去开发一种变换函数使得其对原图进行变换后,得到的新的图像能够满足上面所说的直方图的分布要求。

  • 最左边的图表示原图
  • 中间的图表示经过直方图均衡化后的结果
  • 所对应的直方图

关于直方图需要注意两点:

  • 通过上面有关直方图的学习,我们知道了,如果你关于一幅图像做了一次直方图均衡化,如果我在做一次直方图均衡化,不管做多少次,结果都是和做一次是一样的。为什么会这样,其实很好证明,我们第一次已经让一个分布从随机分布变换到了[0,1]上的均匀分布,那么下一次变换的目的还是这样的,这样下去总是在做[0,1]均匀分布的复刻,所以说是没有意义的。
  • 一幅图像只能对应一个直方图,但是一个直方图可以对应多幅图像,这也就很好的说明了直方图和图像的像素位置没有直接的关系,他仅仅是帮助统计了在一个灰度级出现的像素个数的多少,并不知道这些像素值具体分布在这张图像上的什么位置。

转自:https://zhuanlan.zhihu.com/p/32857009

发布了182 篇原创文章 · 获赞 55 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/IT_flying625/article/details/103768330
今日推荐