【一种基于亮度映射的HDR算法】论文Adaptive Logarithmic Mapping For Displaying High Contrast Scenes

来源:互联网 发布:lamp兄弟连 python 编辑:程序博客网 时间:2024/06/05 05:28

这是一个改善图像显示的算法?

  • 简单总结一下几个公式及算法过程

  • 公式1:

    Ld=log(Lw+1)log(Lmax+1)

    • 其中,Ld是每个像素的显示亮度,Lw表示原图像亮度,Lmax是原图像亮度的最大值
  • 公式2:
    logbase(x)=log(x)log(base)

    • 这个奏是对数的换底公式了啦= = 方便公式换算
  • 公式3:
    biasb(t)=tlog(b)log(0.5)

    • 实践表明,人眼对亮度的适应能力比较符合对数曲线。为了使得对数变换更加“光滑”,使用了bias变换,bias变换就是将一个数值t做一个指数变换,来达到调整的目的,其中b0.5时就有biasb(t)=t
    • b0.73时,得到的调整函数最接近γ=2.2时的伽马校正结果
  • 公式4:
    Ld=0.01Ldmaxlog10(Lwmax+1)×log(Lw+1)log(2+8(LwLwmax)log(b)log(0.5))

    • 其中,Ldmax是设定的一个比例因子,根据不同的显示(器)要进行调整,CRT显示器可取Ldmax=100 cd/m2,经查现在一般的液晶显示器可取到>400 cd/m2
  • 公式5:
    • Photometric/digital ITU-R:
      Y=0.2126R+0.7152G+0.0722B
    • Digital CCIR601:
      Y=0.33R+0.5G+0.16B
      或者
      Y=0.375R+0.5G+0.125B
    • 上述公式参考stack overflow上的Formula to determine brightness of RGB color,如果发现最后调出的图像色域异常,可调整上述系数对相应的色彩进行校正,当然了,要保证3个系数和为1。具体的窝也不知道了。。。还有这样子的。。。
  • 算法过程
    • 对各像素点取样,得到各像素点的RGB值,根据RGBluminance的转换公式得到灰度值(亮度值),根据公式4计算Ldb0.73即可。
0 0