高动态范围图像的生成高动态范围图像因其能完整地记录场景的信息而在很多领域都具有重要的应用价值,因此如何获取高动态范围图像就值得研究。就目前的技术来说,我们有三种方法来获得HDR图像。第一种是采用物理光照和模拟光线来合成图像;第二种是采用高动态图像捕获设备直接生成高动态范围图像,目前已经有这种相机直接生成16位甚至32位的图像,但是这种方法的成本特别昂贵,不能得到广泛使用。第三种方法是对一个场景进行不同程度的曝光,然后融合为HDR图像[5]。49689
高动态范围图像的存储技术
传统的8位图像存储格式不能满足HDR图像高精度运算要求,所以HDR图像都采用16位、32位来存储,这样无论是对像素的对比度还是像素可以体现的色彩数目都有了很大的提升。另外,HDR图像存储数据采用浮点数据。运用浮点方式取代整数方式来存储和处理亮度数据,并且数据的运算过程中也全都采用浮点运算,这样可以有效地提高数据的精确度。目前常用的存储格式如下:
OpenEXR文件格式:该文件格式是由IndustrialLight & Magic开发的,扩展名是.exr。该格式同时支持16位浮点、32位浮点和32位整数像素,支持多种无损或有损压缩方法。
Radiance RGBE文件格式:扩展名为.hdr,每个通道为字节数据类型,4个通道一共是32位,用4个字节来存储。其中RGB每个颜色通道的值都采用一个字节进行存储,剩下的一个字节用来存储E,也就是指数。
FloatTIFF文件格式:该文件的扩展名为.tif(.tiff),每个通道为FP32(32bit Float Point)类型,一共有三个通道96bpp。
高动态范围图像的显示及研究现状
目前的大多数显示设备都是8位的,亮度范围比较小,这就导致在显示16位甚至32位的高动态范围图像时会出现很多问题,不能达到预期的显示效果。解决显示问题可以有两种思量:一种是增加现有设备可以显示的动态范围。另一种是通过软件的方法来改善HDR图像在传统设备上的显示。针对显示这一问题,色调映射和对比度增强等算法被提了出来。
色调映射算子[25]就是降低图像的对比度,压缩HDR图像的动态范围,同时尽可能保留原来的图像信息并避免造成图像瑕疵以获得好的视觉效果。色调映射算子包括两类:全局映射算子和局部映射算子。对一幅图像使用全局映射算子,就是对所有像素进行相同的变换,也就是把图像看成一个整体。而对一幅图像使用局部映射算子就是根据图像不同区域的特征进行不同的变换,这种方法也被称为空域变换法[8]。
Tsun-Hsien Wang[9]提出了一种基于伪多重曝光的局部区域调整色调融合算法。该算法提出了一个曝光依赖曲线S将一个LDR图像转化成为包含某些区域详细信息的伪多重曝光图像,这种伪曝光的方法基于区域增强以提高最明显区域的细节,然后融合区域增强的伪曝光图像产生HDR图像。该算法的显示效果比较好,能在一定程度上减少光晕和块效应的产生。Mantiuk R[30]提出了一种在色调映射过程中进行颜色修正的算法。
Retinex 算法是由Land和McCannt[10]提出的。Retinex算法理论基础是物体的色彩不受光照非均匀性的影响。Petro[11]分析并改进了多尺度Retinex算法的色彩修正问题。 Bertalm´ıo[19]也对Retinex理论做出了研究。
Kwon [23]等人提出一种曝光自适应彩色图像增强模型。首先是对场景进行合适的曝光以获得更多场景的信息,然后对图像进行亮度增强和对比度拉伸。使用log函数来对亮度增强。使用多波段对比度拉伸函数来增强图像的对比度。
Fattal等人提出用多尺度边缘检测的方法对图像在梯度域上进行衰减,将衰减的图像经过泊松方程的处理得到新的低动态范围图像,这种方法的效果比较好,但是对参数的调整依赖性比较强。