eVision .NET API
Loading...
Searching...
No Matches
eVision.EHDRFusion Class Reference

Utility class containing two configurable algorithms to display HDR images on standard display monitors while conserving details and visual quality of the input image. The fusion method takes multiple color images as input and the exposure times of each image. The fusion is performed in three steps: More...

Inheritance diagram for eVision.EHDRFusion:
Collaboration diagram for eVision.EHDRFusion:

Public Member Functions

 EHDRFusion (eVision.EMergerParameters mergerParams, eVision.EToneMapperParameters toneMapperParams)
 Creates a HDR fusion with the specified merger and tone-mapper. Every merger are compatible with every tone-mapper.
 EHDRFusion ()
 Creates a HDR fusion with the specified merger and tone-mapper. Every merger are compatible with every tone-mapper.
 EHDRFusion (eVision.EHDRFusion other)
 Copy operator.
void Fuse (eVision.EImageC24[] inputs, eVision.EImageC24 output, float[] exposureTimes)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.
void Fuse (eVision.EImageC24[] inputs, eVision.EImageC24 output)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.
void Fuse (eVision.EImageBW8[] inputs, eVision.EImageBW8 output, float[] exposureTimes)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.
void Fuse (eVision.EImageBW8[] inputs, eVision.EImageBW8 output)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.
void Save (string path)
 Saves the EHDRFusion. The given ESerializer must have been created for writing.
void Save (eVision.ESerializer serializer)
 Saves the EHDRFusion. The given ESerializer must have been created for writing.
void Load (string path)
 Loads the EHDRFusion. The given ESerializer must have been created for reading.
void Load (eVision.ESerializer serializer)
 Loads the EHDRFusion. The given ESerializer must have been created for reading.

Properties

eVision.EReinhardToneMapperParameters ReinhardToneMapperParameters [get, set]
 Gets the parameter set for the current Reinhard tone-mapper. Throws an exception if the current tone-mapper isn't a reinhard tone-mapper.
eVision.EMantiukToneMapperParameters MantiukToneMapperParameters [get, set]
 Gets the parameter set for the current Mantiuk tone-mapper. Throws an exception if the current tone-mapper isn't a Mantiuk tone-mapper.
eVision.EDragoToneMapperParameters DragoToneMapperParameters [get, set]
 Gets the parameter set for the current Drago tone-mapper. Throws an exception if the current tone-mapper isn't a Drago tone-mapper.
eVision.ELinearToneMapperParameters LinearToneMapperParameters [get, set]
 Gets the parameter set for the current linear tone-mapper. Throws an exception if the current tone-mapper isn't a linear tone-mapper.
eVision.EMertensMergerParameters MertensMergerParameters [get, set]
 Gets the parameter set for the current Mertens merger. Throws an exception if the current tone-mapper isn't a Mertens Merger.
eVision.EToneMapperType ToneMapperType [get, set]
 Gets the current tone-mapper type.
eVision.EMergerType MergerType [get, set]
 Gets the current merger type.

Detailed Description

Utility class containing two configurable algorithms to display HDR images on standard display monitors while conserving details and visual quality of the input image. The fusion method takes multiple color images as input and the exposure times of each image. The fusion is performed in three steps:

  1. A calibration of the camera response is applied on the input images (if the merger is of type Debevec or Robertson.
  2. The merger computes an HDR image with the input images.
  3. The tone-mapper computes an image that can be displayed on standard display monitors.

License(s): EasyImage

Constructor & Destructor Documentation

◆ EHDRFusion() [1/3]

eVision.EHDRFusion.EHDRFusion ( eVision.EMergerParameters mergerParams,
eVision.EToneMapperParameters toneMapperParams )

Creates a HDR fusion with the specified merger and tone-mapper. Every merger are compatible with every tone-mapper.

Parameters
mergerParamsParameters and type of the merger to use.
toneMapperParamsParameters and type of the tone-mapper to use.

◆ EHDRFusion() [2/3]

eVision.EHDRFusion.EHDRFusion ( )

Creates a HDR fusion with the specified merger and tone-mapper. Every merger are compatible with every tone-mapper.

◆ EHDRFusion() [3/3]

eVision.EHDRFusion.EHDRFusion ( eVision.EHDRFusion other)

Copy operator.

Parameters
otherAnother EHDRFusion.

Member Function Documentation

◆ Fuse() [1/4]

void eVision.EHDRFusion.Fuse ( eVision.EImageBW8[] inputs,
eVision.EImageBW8 output )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.

◆ Fuse() [2/4]

void eVision.EHDRFusion.Fuse ( eVision.EImageBW8[] inputs,
eVision.EImageBW8 output,
float[] exposureTimes )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.
exposureTimesExposure times in seconds, can be empty if the merger type is Mertens.

◆ Fuse() [3/4]

void eVision.EHDRFusion.Fuse ( eVision.EImageC24[] inputs,
eVision.EImageC24 output )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.

◆ Fuse() [4/4]

void eVision.EHDRFusion.Fuse ( eVision.EImageC24[] inputs,
eVision.EImageC24 output,
float[] exposureTimes )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times. Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.
exposureTimesExposure times in seconds, can be empty if the merger type is Mertens.

◆ Load() [1/2]

void eVision.EHDRFusion.Load ( eVision.ESerializer serializer)

Loads the EHDRFusion. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ Load() [2/2]

void eVision.EHDRFusion.Load ( string path)

Loads the EHDRFusion. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Save() [1/2]

void eVision.EHDRFusion.Save ( eVision.ESerializer serializer)

Saves the EHDRFusion. The given ESerializer must have been created for writing.

Parameters
serializerThe serializer.

◆ Save() [2/2]

void eVision.EHDRFusion.Save ( string path)

Saves the EHDRFusion. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

Property Documentation

◆ DragoToneMapperParameters

eVision.EDragoToneMapperParameters eVision.EHDRFusion.DragoToneMapperParameters
getset

Gets the parameter set for the current Drago tone-mapper. Throws an exception if the current tone-mapper isn't a Drago tone-mapper.

◆ LinearToneMapperParameters

eVision.ELinearToneMapperParameters eVision.EHDRFusion.LinearToneMapperParameters
getset

Gets the parameter set for the current linear tone-mapper. Throws an exception if the current tone-mapper isn't a linear tone-mapper.

◆ MantiukToneMapperParameters

eVision.EMantiukToneMapperParameters eVision.EHDRFusion.MantiukToneMapperParameters
getset

Gets the parameter set for the current Mantiuk tone-mapper. Throws an exception if the current tone-mapper isn't a Mantiuk tone-mapper.

◆ MergerType

eVision.EMergerType eVision.EHDRFusion.MergerType
getset

Gets the current merger type.

◆ MertensMergerParameters

eVision.EMertensMergerParameters eVision.EHDRFusion.MertensMergerParameters
getset

Gets the parameter set for the current Mertens merger. Throws an exception if the current tone-mapper isn't a Mertens Merger.

◆ ReinhardToneMapperParameters

eVision.EReinhardToneMapperParameters eVision.EHDRFusion.ReinhardToneMapperParameters
getset

Gets the parameter set for the current Reinhard tone-mapper. Throws an exception if the current tone-mapper isn't a reinhard tone-mapper.

◆ ToneMapperType

eVision.EToneMapperType eVision.EHDRFusion.ToneMapperType
getset

Gets the current tone-mapper type.