直方图均衡化--避开晦涩的公式,化繁为简

最近使用到直方图均衡化处理图像,研究大量相关论文,但发现都是用公式解释直方图均衡化的过程。及其难懂

所以自己整理了比较通俗的讲解资料,以便理解

目录

1.直方图

2.直方图均衡化过程解析


1.直方图

  • 就是每个灰度级所占整幅图像的频率的二维统计图表,纵坐标为频率,横坐标为灰度级。其忽略了位置信息。
  • 我们将图像转成直方图时,需要先将图像转换成灰度图,或者对彩色图像的每个通道分别求取直方图。
  • 图像一般都是8位,所以其灰度级为0-255范围内。

2.直方图均衡化过程解析

此例图像为3位,共8个灰度级 ,0-7,求解过程如表中数据

 

序号

运算

步骤和结果

1

原始图像灰度级p_{k},k=0,1,......7

0

1

2

3

4

5

6

7

2

原始图像直方图P_{k}=n_{k}/n

0.02

0.05

0.09

0.12

0.34

0.2

0.22

0.16

3

计算累积直方图S_{k}=\sum_{j=0}^{k}P_{j}

0.02

0.07

0.16

0.28

0.42

0.62

0.84

1.00

4

取整扩展:S(k)=int[((L-1)-0)* sk +0.5]

0

0

1

2

3

4

6

7

5

确定映射关系:P_{k}\rightarrow S(k)

0,1\rightarrow0

2\rightarrow1

3\rightarrow2

4\rightarrow3

5\rightarrow4

6\rightarrow6

7\rightarrow7

6

根据映射关系计算均衡化直方图

0.07

0.09

0.12

0.34

0.2

0

0.22

0.16

(1)p_{k},k=0,1,......7 表示每个灰度级像素点的个数,此例为3位,所以是0-7

(2)P_{k}=n_{k}/n 表示每个灰度级的频率,即该灰度级出现的个数占总像素点的比例

(3)S_{k}=\sum_{j=0}^{k}P_{j}每个Sk都是前k个灰度级的频率之和,表中可以清晰的看出

  • 例 S0 = P0,S1 = P0+P1,.........

(4)S(k)=int[((L-1)-0)* sk +0.5]  每个Pk经过映射后的灰度级值

L表示图像处理的灰度级个数,因为此表处理的图像为3位,所以灰度级共2的3次方,8个灰度级,所以L=8 

L-1 表示最大灰度级

0 表示最小灰度级

  • 例 S(0) = int[((8-1)-0)*0.02+0.5] = 0

(5)P_{k}\rightarrow S(k) 计算后的灰度级替换掉计算前的灰度级

(6)得到均衡化后的直方图

若有不清楚的地方,可以评论探讨

你可能感兴趣的:(数字图像处理基础知识笔记)