Leaper Vision Toolkit
中文 / English 2.x
Public Member Functions
ILHDR Interface Reference

This interface provide functionalities of High Dynamic Range Imaging(HDR). More...

Inheritance diagram for ILHDR:
ILObject LHDR

Public Member Functions

LPVErrorCode BuildCRF (ILImageList *imgList, LArray< double > exposureTimes)
 
void ExposureFusion (ILImageList *imgList, ILImage *result, double contrastWeight, double saturationWeight, double exposureWeight)
 
void ToneMapping (ILImageList *imgList, ILImage *result, double gamma, double contrastEnhance, double saturationEnhance)
 
- Public Member Functions inherited from ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

Detailed Description

This interface provide functionalities of High Dynamic Range Imaging(HDR).

HDR imaging works with images that captured with different exposure settings. We provide two approach here:

  1. Tone mapping, it firstly estimate the camera response function(CRf) based on the known exposure times, then recover the true irradiance image for the scene, and apply a tone-mapping algorithm to visualize this final image. It's the most popular way of processing an HDR image.
  2. Exposure fusion, blend a bracketed exposure sequence into a high quality image, without camera response curve calibration. It's much simpler to use and the resulting image quality is comparable to tone-mapping method.

To use this interface, you should create a LHDR object.

Example Code

Member Function Documentation

◆ BuildCRF()

LPVErrorCode BuildCRF ( ILImageList imgList,
LArray< double >  exposureTimes 
)

Calibrate the CRF.

Parameters
[in]imgList The input images with different exposure settings
[in]exposureTimesThe exposure times corresponding to the images, in μs
Return values
errorReturn error code if anything is wrong.

◆ ExposureFusion()

void ExposureFusion ( ILImageList imgList,
ILImage result,
double  contrastWeight,
double  saturationWeight,
double  exposureWeight 
)

HDR imaging using exposure fusion approach.

Parameters
[in]imgList The input images with different exposure settings
[out]result Return result image
[in]contrastWeightThe weight of contrast, by default, it's 1.
[in]saturationWeightThe weight of saturation, by default it's 1.
[in]exposureWeightThe weight of exposure, by default, it's 1.

◆ ToneMapping()

void ToneMapping ( ILImageList imgList,
ILImage result,
double  gamma,
double  contrastEnhance,
double  saturationEnhance 
)

HDR imaging using tone-mapping approach, the CRF is required.

Parameters
[in]imgListThe input images with different exposure settings
[out]result Return result image
[in]gammaThe gamma correction, 1(default) implies no correction, > 1 brightens the image and < 1 darkens it.
[in]contrastEnhanceThe contrast enhancement, resulting on logarithmic scale, i.e. \( log(max / min) \), where max and min are maximum and minimum luminance values of the resulting image. The default value is 4.
[in]saturationEnhanceThe saturation enhancement, 1(default) preserves saturation, > 1 increase saturation while < 1 decrease it.
See also
BuildCRF()