Renesas / opencv-lib

Dependents:   RZ_A2M_Mbed_samples

Embed: (wiki syntax)

« Back to documentation index

HDR imaging

This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, camera calibration with multiple exposures and exposure fusion. More...

Data Structures

class  Tonemap
 Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range. More...
class  TonemapDrago
 Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain. More...
class  TonemapDurand
 This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter and compresses contrast of the base layer thus preserving all the details. More...
class  TonemapReinhard
 This is a global tonemapping operator that models human visual system. More...
class  TonemapMantiuk
 This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, transforms contrast values to HVS response and scales the response. More...
class  AlignExposures
 The base class for algorithms that align images of the same scene with different exposures. More...
class  AlignMTB
 This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminance and 0 otherwise) and than aligns the resulting bitmaps using bit operations. More...
class  CalibrateCRF
 The base class for camera response calibration algorithms. More...
class  CalibrateDebevec
 Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. More...
class  CalibrateRobertson
 Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. More...
class  MergeExposures
 The base class algorithms that can merge exposure sequence to a single image. More...
class  MergeDebevec
 The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. More...
class  MergeMertens
 Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids. More...
class  MergeRobertson
 The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. More...

Functions

CV_EXPORTS_W Ptr< Tonemap > createTonemap (float gamma=1.0f)
 Creates simple linear mapper with gamma correction.
CV_EXPORTS_W Ptr< TonemapDrago > createTonemapDrago (float gamma=1.0f, float saturation=1.0f, float bias=0.85f)
 Creates TonemapDrago object.
CV_EXPORTS_W Ptr< TonemapDurand > createTonemapDurand (float gamma=1.0f, float contrast=4.0f, float saturation=1.0f, float sigma_space=2.0f, float sigma_color=2.0f)
 Creates TonemapDurand object.
CV_EXPORTS_W Ptr< TonemapReinhard > createTonemapReinhard (float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f)
 Creates TonemapReinhard object.
CV_EXPORTS_W Ptr< TonemapMantiuk > createTonemapMantiuk (float gamma=1.0f, float scale=0.7f, float saturation=1.0f)
 Creates TonemapMantiuk object.
CV_EXPORTS_W Ptr< AlignMTB > createAlignMTB (int max_bits=6, int exclude_range=4, bool cut=true)
 Creates AlignMTB object.
CV_EXPORTS_W Ptr
< CalibrateDebevec > 
createCalibrateDebevec (int samples=70, float lambda=10.0f, bool random=false)
 Creates CalibrateDebevec object.
CV_EXPORTS_W Ptr
< CalibrateRobertson > 
createCalibrateRobertson (int max_iter=30, float threshold=0.01f)
 Creates CalibrateRobertson object.
CV_EXPORTS_W Ptr< MergeDebevec > createMergeDebevec ()
 Creates MergeDebevec object.
CV_EXPORTS_W Ptr< MergeMertens > createMergeMertens (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f)
 Creates MergeMertens object.
CV_EXPORTS_W Ptr< MergeRobertson > createMergeRobertson ()
 Creates MergeRobertson object.

Detailed Description

This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, camera calibration with multiple exposures and exposure fusion.


Function Documentation

CV_EXPORTS_W Ptr<AlignMTB> cv::createAlignMTB ( int  max_bits = 6,
int  exclude_range = 4,
bool  cut = true 
)

Creates AlignMTB object.

Parameters:
max_bitslogarithm to the base 2 of maximal shift in each dimension. Values of 5 and 6 are usually good enough (31 and 63 pixels shift respectively).
exclude_rangerange for exclusion bitmap that is constructed to suppress noise around the median value.
cutif true cuts images, otherwise fills the new regions with zeros.
CV_EXPORTS_W Ptr<CalibrateDebevec> cv::createCalibrateDebevec ( int  samples = 70,
float  lambda = 10.0f,
bool  random = false 
)

Creates CalibrateDebevec object.

Parameters:
samplesnumber of pixel locations to use
lambdasmoothness term weight. Greater values produce smoother results, but can alter the response.
randomif true sample pixel locations are chosen at random, otherwise the form a rectangular grid.
CV_EXPORTS_W Ptr<CalibrateRobertson> cv::createCalibrateRobertson ( int  max_iter = 30,
float  threshold = 0.01f 
)

Creates CalibrateRobertson object.

Parameters:
max_itermaximal number of Gauss-Seidel solver iterations.
thresholdtarget difference between results of two successive steps of the minimization.
CV_EXPORTS_W Ptr<MergeDebevec> cv::createMergeDebevec (  )

Creates MergeDebevec object.

CV_EXPORTS_W Ptr<MergeMertens> cv::createMergeMertens ( float  contrast_weight = 1.0f,
float  saturation_weight = 1.0f,
float  exposure_weight = 0.0f 
)

Creates MergeMertens object.

Parameters:
contrast_weightcontrast measure weight. See MergeMertens.
saturation_weightsaturation measure weight
exposure_weightwell-exposedness measure weight
CV_EXPORTS_W Ptr<MergeRobertson> cv::createMergeRobertson (  )

Creates MergeRobertson object.

CV_EXPORTS_W Ptr<Tonemap> cv::createTonemap ( float  gamma = 1.0f )

Creates simple linear mapper with gamma correction.

Parameters:
gammapositive value for gamma correction. Gamma value of 1.0 implies no correction, gamma equal to 2.2f is suitable for most displays. Generally gamma > 1 brightens the image and gamma < 1 darkens it.
CV_EXPORTS_W Ptr<TonemapDrago> cv::createTonemapDrago ( float  gamma = 1.0f,
float  saturation = 1.0f,
float  bias = 0.85f 
)

Creates TonemapDrago object.

Parameters:
gammagamma value for gamma correction. See createTonemap
saturationpositive saturation enhancement value. 1.0 preserves saturation, values greater than 1 increase saturation and values less than 1 decrease it.
biasvalue for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best results, default value is 0.85.
CV_EXPORTS_W Ptr<TonemapDurand> cv::createTonemapDurand ( float  gamma = 1.0f,
float  contrast = 4.0f,
float  saturation = 1.0f,
float  sigma_space = 2.0f,
float  sigma_color = 2.0f 
)

Creates TonemapDurand object.

Parameters:
gammagamma value for gamma correction. See createTonemap
contrastresulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image.
saturationsaturation enhancement value. See createTonemapDrago
sigma_spacebilateral filter sigma in color space
sigma_colorbilateral filter sigma in coordinate space
CV_EXPORTS_W Ptr<TonemapMantiuk> cv::createTonemapMantiuk ( float  gamma = 1.0f,
float  scale = 0.7f,
float  saturation = 1.0f 
)

Creates TonemapMantiuk object.

Parameters:
gammagamma value for gamma correction. See createTonemap
scalecontrast scale factor. HVS response is multiplied by this parameter, thus compressing dynamic range. Values from 0.6 to 0.9 produce best results.
saturationsaturation enhancement value. See createTonemapDrago
CV_EXPORTS_W Ptr<TonemapReinhard> cv::createTonemapReinhard ( float  gamma = 1.0f,
float  intensity = 0.0f,
float  light_adapt = 1.0f,
float  color_adapt = 0.0f 
)

Creates TonemapReinhard object.

Parameters:
gammagamma value for gamma correction. See createTonemap
intensityresult intensity in [-8, 8] range. Greater intensity produces brighter results.
light_adaptlight adaptation in [0, 1] range. If 1 adaptation is based only on pixel value, if 0 it's global, otherwise it's a weighted mean of this two cases.
color_adaptchromatic adaptation in [0, 1] range. If 1 channels are treated independently, if 0 adaptation level is the same for each channel.