#include <peak_icv/algorithms/hdr/peak_icv_hdr.hpp>

Public Member Functions | |
| HDR () | |
| Constructs an HDR processing object. | |
| ~HDR () override | |
| HDRAlgorithm | GetAlgorithm () const |
| Returns the HDR algorithm used by this object. | |
| void | EstimateResponseCurve (const std::vector< Image > &images) const |
| Estimates the Camera Response Curve (CRC) from a set of input images. | |
| Image | Process (const std::vector< Image > &images) const |
| Generates an HDR image from the specified input images. | |
| ResponseCurve | GetResponseCurve () const |
| void | SetResponseCurve (const ResponseCurve &responseCurve) |
Performs High Dynamic Range (HDR) image reconstruction.
This class provides functionality to generate a High Dynamic Range (HDR) image from a set of input images captured with different exposure settings. The input images are expected to depict the same scene while varying exactly one parameter: either the exposure time OR the gain.
Internally, the HDR reconstruction is performed using the Debevec algorithm. A key part of this process is determining the Camera Response Curve (CRC), which maps digital pixel values to relative radiance.
HDR object
|
inlineexplicit |
Constructs an HDR processing object.
Creates and initializes an HDR object using the default HDR reconstruction algorithm (Debevec).
|
inlineoverride |
|
inline |
Estimates the Camera Response Curve (CRC) from a set of input images.
This method calculates the response characteristics of the camera sensor. The CRC defines the relationship between scene radiance and the measured pixel values.
All input images must meet the following conditions:
Performing this estimation step explicitly can significantly reduce the processing time of subsequent calls to Process(), as the curve does not need to be re-calculated.
If this method is not called, the response curve is estimated automatically during the first call to Process().
|
See the Pixel and Pixel Format Specifications for a detailed description of the pixel formats.
| [in] | images | Images of the same scene with different exposure time or gain metadata. Must not be empty. |
|
inline |
Returns the HDR algorithm used by this object.
The algorithm is defined at construction time and determines how the input images are combined during HDR reconstruction.
|
inline |
| NotPossibleException | No response curve is currently set. Use HDR::SetResponseCurve() or HDR::EstimateResponseCurve() to set a response curve first. |
Generates an HDR image from the specified input images.
Processes the provided images and combines them into a single HDR image.
If a pixel is under- or overexposed across all input images this pixel is clamped to the HDR image's global minimum or maximum values, respectively. All clamped pixels are excluded from the image region.
All input images must meet the following conditions:
If the camera response curve has not been explicitly estimated using EstimateResponseCurve, an internal estimation step is performed automatically when it is first called. This may increase the overall processing time for the first call.
|
See the Pixel and Pixel Format Specifications for a detailed description of the pixel formats.
| [in] | images | Images of the same scene with different exposure time or gain metadata. Must not be empty. |
|
inline |