086、HDR融合算法:多曝光合成与局部色调映射实战
086、HDR融合算法:多曝光合成与局部色调映射实战去年在调试某款旗舰手机的后置主摄HDR模式时,遇到一个让人抓狂的问题:夜景模式下,路灯周围总是出现一圈诡异的紫色光晕,像是给灯泡戴了个劣质美瞳。翻了三天的ISP寄存器手册,试了六版tuning参数,最后发现罪魁祸首居然是多帧对齐时的一个亚像素偏移没处理好——这个坑,今天就从它讲起。多曝光合成的三个致命细节HDR融合的第一步是拿到不同曝光量的帧序列。通常我们拍三帧:欠曝(保留高光细节)、正常曝光、过曝(保留暗部细节)。但如果你以为直接把三帧加权平均就能出好图,那产线良率怕是要跌到地板价。对齐精度决定生死。手持拍摄时,哪怕0.1像素的偏移,在融合后的边缘都会出现鬼影。我见过团队用SIFT特征点匹配做全局单应性变换,结果运动物体边缘直接糊成一团。实际工程中,必须用光流法做局部运动补偿,而且光流计算要限定在亮度梯度大的区域——平坦天空算光流纯属浪费算力,还会引入噪声。代码里建议这样写:// 只在梯度幅值大于阈值的位置计算光流,别全图跑if(grad_magGRAD_THRESHOLD