1.连续值情况下
个人认为,直方图匹配应该理解为用直方图作为中介进行匹配。
本节中的连续灰度其实有三个,包括r,s,z。其中,r为输入图像灰度级,z为输出图像灰度级,s可以理解为中间图像灰度级。
直方图匹配的巧妙之处即构造两个变换,s = T(r),s = G(z),得到
T(r) = G(z);
公式1
公式1为基本函数,为了得到T(r)和G(z)的具体表达形式,则应结合上一节的转换公式,让s的概率密度为,得到
公式2
公式3
直接套用公式即可进行运算,运算过程应该从两边都向s靠拢(即r->s,z->s)
1.根据输入图像r,得到概率密度,根据公式2得到s
2.根据输出图像z,得到概率密度,根据公式3得到G(z)
3.通过,得到z值
4.将s=T(r)带入,得到从r到z的变换
2.离散值情况下
在处理离散量时,只需要得到一个近似的直方图即可。
公式2的离散形式为
公式4
其中k=0,1,2,3,...,L-1。
公式3的离散形式为
公式5
其中k=0,1,2,3,...,L-1。
公式6
当然在一般情况下r通过T的离散变换得到的s与z通过G离散变换得到的s是无法在函数上一一对应的。需要先将变量放在表中,然后通过查表的方式来找到对应关系。故公式6中G的反变换是不需要计算的。
结合书中总结的直方图规定话过程及例3.8会更好理解一些。
(1)根据公式4得到,同时应该注意的是,所得的值可能是小数,故需要进行四舍五入取整。
结合3.22(a)图进行计算,注意L为8,带入公式4得到
...
然后再进行四舍五入取整得到
(2)通过公式5并结合表3.2,将得到的数进行四舍五入取整
显然通过两种方式得到的s是不同的。为了区分这种不同,书中将z通过G变化得到的值直接通过来表示,本文中也遵循教材中的规则。进行一下改写得到:
将其列表得到教材中的表3.3
(3)由于是离散值计算,故(1)计算的和(2)计算的未必匹配,这个例子就出现了这个情况。书中采取的方法是让(1)计算的最小值和(2)计算的最小值匹配。得到了表3.4的结果
书中直接给出了表的对应关系。没有特别详细的给出这个表格是怎么来的。
我将(1)和(2)的再进行列举
(1)中的
(2)中的
(2)中的计算结果
故(1)中的和(2)中的对应,(2)中的便对应了。以此类推。
最后结合表3.1来计算z实PDF
举例:
(1)中的是=0时得到的,故的 = 0.19;
(1)中的s=6的值是在=3,=4时得到的,同时对应。那么的 =0.16+0.08=0.24;
最终得到的结果为表3.2的第三列。