ISP流程Gamma校正思路
这两天一直在做一个工作关于调整Gamma曲线使得图像在高曝光区域可以良好适应。
遇到有一个难题,是如何将我们在PQtool工具中调试的gamma对应的数值写入到设备程序当中。
通过查看Json表可以看到当前标准模式下有我们想要的两条Gamma曲线,这两条Gamma曲线通过插值的方法决定我们所使用的Gamma曲线,我们如果想要使用接近我我们在PQtool上拉出来的gamma曲线,那就需要不断不断的调试与查看,看最后拟合出来的Gamma曲线是否接近我们所设定的形状。
今天主要的工作是降低过曝区域的图像亮度,理所应当我们应该适当降低gamma曲线位于图像灰度值较大的一部分,但是我们为了拟合出来的曲线比较符合人眼的视觉感知,那就需要对json表中的曲线灰度值较大的部分进行适当降低,前面的灰度值较小部分调整较小。下图是我通过不断调试,写入Json表,然后得到的当前情况下拟合的Gamma曲线,效果还是比较好的。
下图是应用新的Gamma曲线得到的图像结果,能够较好的抑制图像中的高亮区域,可以使用FastStone Capture工具来对图像白色部分进行测量。
gamma调试看上去仅仅是简单的拉一拉曲线,但是如何将拉好的曲线应用到设备上,写入代码当中,这个是需要我们反复调试的。
2021/1/4注:
我们在修改json表的时候,目前方法是通过对两条gamma曲线进行插值,一般第一条曲线是保证图像亮度,第二条曲线保证图像对比度,我们在修改第一天Gamma曲线的时候需要保证Gamma曲线自身的平滑度,不能随意修改数值,否则曲线中可能会出现折线的现象。