首页 > 代码库 > HDR算法(一)
HDR算法(一)
HDR的图像合成compose,包含有以下几个步骤:
Step0 图像配准,在图像有运动的情况下,需要精确配准输入图像
Step1 恢复不同曝光图像 (E1, E2, E3…)的辐射度图像 (S1, S2, S3…)
Step2计算S1, S2, S3..的权重值w1(x,y), w2(x,y), w3(x,y),来合成最后一幅图
无论是多帧合成的HDR,还是特殊曝光pattern的sensor,都遵循上面的步骤。展开介绍一下:
Step0 图像配准,参照光流的实现,这一步主要是用在多帧不同曝光图像合成的情况,是之后两步的基础
Step1 恢复辐照度图像,即根据曝光时间(大部分情况下是通过曝光时间来获取高动态范围),以及CMOS灰度值,得到该像素点原本的辐照度。
一种辐照度与曝光时间和cmos灰度的对应关系是这样的
E(i,j) = Func( T(i) x I(j) )
E(i,j)为第i次曝光的,曝光时长为T(i)的,图像I第j个像素点的实际辐照度。
可以根据标定的方式结合最小二乘,得到这个曲线的参数。
理论上,如果不存在噪声,那么根据step1,完全可以融合成一张HDR的图片了(用其他图像补偿一幅图像中过曝以及欠曝,以至于算出来的辐照度不准确的点)。当然现实不是这样的,考虑到算出来的辐照度是有一定的不确定性的,我们需要不确定性最小的那个。所以需要step2.
Step2 计算辐射度图像合成一幅图像的每个像素点处的权重,即生成n幅权重图。
有各种生成权重图的方式,主要是考虑到这个点邻域的梯度,亮度,运动与否(长短曝光相比),来考察这个点生成的辐照度图像的可靠程度,进而确定权重图。
下一次会讲tone mapping色调映射,这个主要是得到HDR图像后,如何在显示器上显示出来,毕竟,HDR的图像位数比较高,而显示器的显示范围有限。高动态范围压缩到地动态范围。包括全局映射和局部映射。
HDR相关的topic有许多的知识,还包括HDR算法的评价等。
HDR算法(一)