滤转换
,尽量的把色差产生的彩色条纹消除,最大限度的还原图像。
4.2 算法要求
无论是什么样的消除算法
,其原则是绝对不能够破坏原来图像,也不能引入新的图像噪声。
此外
,要考虑到图像转换过程中的效率问题。由于扫描图像的原数据是未经压缩的数据包, 数
据量比较大
, 所以要求过滤算法简单高效,能够在质量和效率间找到一个很好的平衡点。
4.3 算法理论基础
能够消除色差的图像转换算法
,我们称为色彩平衡算法。
传统的色彩平衡算法技术的典型思想就是试图去补偿色差处的光源部分
, 使得色散造成
的色差能够被弥补。
一般的理论过程会分为以下两步:
(1)确定能在图像中的光源的类型。
(2)调整数字图像的 RGB 值, 是的每个像素值能够尽量的回复到原来的场景颜色特征。
典型的实现算法
: 每个像素的 RGB 值通过一个常量集来转换, 转换结果就是一个新的经
过色彩平衡的
RGB 值的集合。
数学表述如下
:
R
’= R*a1 + G*b1 + B*c1
G
’= R*a2 + G*b2 + B*c2
B
’= R*a3 + G*b3 + B*c3
其中
R,G,B 是原始图像数据的像素 RGB 值; R
’, G’, B’是转换后的图象数据的像素 RGB
值
, a1,b1,c1,a2,b2,c2,a3,b3,c3 是转换 RBG 值用的常数值的集合。这个用于转换 RGB 值的常
数集合一般被称作色彩平衡矩阵或者色彩平衡内核。
所以一种色彩平衡的思想就是把每一点的
RGB 像素值作为一个有三个元素的行向量,
然后和色彩平衡矩阵做乘法
, 结果也是一个有三个元素的行向量. 根据这个色彩平衡算法, 图
像中的每一个像素点都要使用色彩平衡矩阵来转换。当然
,对于图像中的每个像素点,使用的
转换矩阵可以是不同的
, 这取决于使用者对于图像色差出现的区域和严重程度的考量。
像素点计算方法的数学表达式如下
(见参考文献[2]):
[R
’ G’ B’] = [R G B] *[[a1a2 a3][b1b2 b3][c1c2c3] ]
而整个算法的核心就是色彩平衡矩阵中元素的值
,以及平衡矩阵作用的像素点。
以此为基础
, 斯坦福大学提出了一个叫做
“Gary World”的快速简单的平衡矩阵和算法。
该算法没有对光源问题做任何的假设
,而是试图通过填充图像来弥补所有的光源,这样图
像中的每个像素的
RGB 各通道值都有恒等的平均值。
当我们实现这个算法的时候,我们的主要目标就是调整蓝色通道和红色通道平均值来匹
配绿色。之所以选择匹配绿色
,是因为绿色在人类的视觉系中是最敏感的,这样可以使得转换
的计算变得比较方便
,效果也容易显现。
色彩平衡矩阵被设置成一个乘法表
, 使所有的红色像素值和蓝色像素值都去匹配图中所
有绿色像素值的平均值
,绿色像素点的值我们不去做转换,而矩阵中所有非对角线的元素值全
部设为零
.数学表达式如下:
R
’= R * mean(green) / mean(red)
G
’= G * mean(green) / mean(green) = G
B
’= B * mean(green) / mean(blue)
经过以上的矩阵转换后的像素通道重组后可以得到新的图像
, 其色差问题可以得到有效
的减弱。
4.4 快速消色差算法原理
通过传统算法和斯坦福大学的理论
,我们扫描系统当前使用的图像转换算法得到两个重
要的思想
: