False color一般出现在物体边缘上,特别是白纸黑字。如下,白纸上的黑色线条,一侧偏黄,一侧偏蓝。
![]()
放大后的false color现象
False color的原因有两个,一是bayer pattern中R和B信息丢失比较严重,插值出来的R和B分量带有误差;二是镜头对不同波长的光的折射率不一样。前者比较容易理解,后者则可以通过观察发现规律。对ISO12233测试纸拍摄图片,我分别截取四周的局部图片,放大比较来看。
![]() ![]()
![]() ![]()
flase color呈现中心对称的特点
从上图中可以发现,黑色方块靠近图像中心的边缘有点橙色,背离中心的边缘呈现蓝色。以左上角的黑色方块为例,三种颜色分量的数值曲线有位移,如果其位移的规律按照figure下 的形状,那么刚好可以解释边缘偏色的情况
![]()
RGB曲线位移
如果可以纠正这种位移,那么false color就可以明显消除。从原理上分析,解决方法比较简单,只要把B分量向着中心位置收缩,收缩的距离和像素到镜头中心的距离有关,这可以通过数学建模得到(例如抛物线)。同样R分量则要向外扩张,扩张的方式也一样用数学建模得到。实现起来则有不小难度,毕竟像素是按照矩阵方式排列的,而收缩或者扩张是360度的,需要复杂的三角函数和数据流控制机制。
对位移较小的false color处理起来相对容易,毕竟我们已知其规律,并且有周边像素作为参考。对于较大范围的false color(上图中位移较大的情况)则难有很好的解决方法,因为在当前像素的一个小范围内都是异常的色彩,无法分辨到底是true or false。
|