This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, camera calibration with multiple exposures and exposure fusion. More...
Classes | |
class | cv::AlignExposures |
The base class for algorithms that align images of the same scene with different exposures. More... | |
class | cv::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 | cv::CalibrateCRF |
The base class for camera response calibration algorithms. More... | |
class | cv::CalibrateDebevec |
Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. More... | |
class | cv::CalibrateRobertson |
Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. More... | |
class | cv::MergeDebevec |
The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. More... | |
class | cv::MergeExposures |
The base class algorithms that can merge exposure sequence to a single image. More... | |
class | cv::MergeMertens |
Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids. More... | |
class | cv::MergeRobertson |
The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. More... | |
class | cv::Tonemap |
Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range. More... | |
class | cv::TonemapDrago |
Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain. More... | |
class | cv::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 | cv::TonemapReinhard |
This is a global tonemapping operator that models human visual system. More... | |
Enumerations | |
enum | { cv::LDR_SIZE = 256 } |
Functions | |
Ptr< AlignMTB > | cv::createAlignMTB (int max_bits=6, int exclude_range=4, bool cut=true) |
Creates AlignMTB object. More... | |
Ptr< CalibrateDebevec > | cv::createCalibrateDebevec (int samples=70, float lambda=10.0f, bool random=false) |
Creates CalibrateDebevec object. More... | |
Ptr< CalibrateRobertson > | cv::createCalibrateRobertson (int max_iter=30, float threshold=0.01f) |
Creates CalibrateRobertson object. More... | |
Ptr< MergeDebevec > | cv::createMergeDebevec () |
Creates MergeDebevec object. More... | |
Ptr< MergeMertens > | cv::createMergeMertens (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f) |
Creates MergeMertens object. More... | |
Ptr< MergeRobertson > | cv::createMergeRobertson () |
Creates MergeRobertson object. More... | |
Ptr< Tonemap > | cv::createTonemap (float gamma=1.0f) |
Creates simple linear mapper with gamma correction. More... | |
Ptr< TonemapDrago > | cv::createTonemapDrago (float gamma=1.0f, float saturation=1.0f, float bias=0.85f) |
Creates TonemapDrago object. More... | |
Ptr< TonemapMantiuk > | cv::createTonemapMantiuk (float gamma=1.0f, float scale=0.7f, float saturation=1.0f) |
Creates TonemapMantiuk object. More... | |
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. More... | |
This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, camera calibration with multiple exposures and exposure fusion.
#include <opencv2/photo.hpp>
Creates AlignMTB object.
max_bits | logarithm 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_range | range for exclusion bitmap that is constructed to suppress noise around the median value. |
cut | if true cuts images, otherwise fills the new regions with zeros. |
Ptr<CalibrateDebevec> cv::createCalibrateDebevec | ( | int | samples = 70 , |
float | lambda = 10.0f , |
||
bool | random = false |
||
) |
#include <opencv2/photo.hpp>
Creates CalibrateDebevec object.
samples | number of pixel locations to use |
lambda | smoothness term weight. Greater values produce smoother results, but can alter the response. |
random | if true sample pixel locations are chosen at random, otherwise they form a rectangular grid. |
Ptr<CalibrateRobertson> cv::createCalibrateRobertson | ( | int | max_iter = 30 , |
float | threshold = 0.01f |
||
) |
#include <opencv2/photo.hpp>
Creates CalibrateRobertson object.
max_iter | maximal number of Gauss-Seidel solver iterations. |
threshold | target difference between results of two successive steps of the minimization. |
Ptr<MergeDebevec> cv::createMergeDebevec | ( | ) |
#include <opencv2/photo.hpp>
Creates MergeDebevec object.
Ptr<MergeMertens> cv::createMergeMertens | ( | float | contrast_weight = 1.0f , |
float | saturation_weight = 1.0f , |
||
float | exposure_weight = 0.0f |
||
) |
#include <opencv2/photo.hpp>
Creates MergeMertens object.
contrast_weight | contrast measure weight. See MergeMertens. |
saturation_weight | saturation measure weight |
exposure_weight | well-exposedness measure weight |
Ptr<MergeRobertson> cv::createMergeRobertson | ( | ) |
#include <opencv2/photo.hpp>
Creates MergeRobertson object.
#include <opencv2/photo.hpp>
Creates simple linear mapper with gamma correction.
gamma | positive 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. |
Ptr<TonemapDrago> cv::createTonemapDrago | ( | float | gamma = 1.0f , |
float | saturation = 1.0f , |
||
float | bias = 0.85f |
||
) |
#include <opencv2/photo.hpp>
Creates TonemapDrago object.
gamma | gamma value for gamma correction. See createTonemap |
saturation | positive saturation enhancement value. 1.0 preserves saturation, values greater than 1 increase saturation and values less than 1 decrease it. |
bias | value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best results, default value is 0.85. |
Ptr<TonemapMantiuk> cv::createTonemapMantiuk | ( | float | gamma = 1.0f , |
float | scale = 0.7f , |
||
float | saturation = 1.0f |
||
) |
#include <opencv2/photo.hpp>
Creates TonemapMantiuk object.
gamma | gamma value for gamma correction. See createTonemap |
scale | contrast scale factor. HVS response is multiplied by this parameter, thus compressing dynamic range. Values from 0.6 to 0.9 produce best results. |
saturation | saturation enhancement value. See createTonemapDrago |
Ptr<TonemapReinhard> cv::createTonemapReinhard | ( | float | gamma = 1.0f , |
float | intensity = 0.0f , |
||
float | light_adapt = 1.0f , |
||
float | color_adapt = 0.0f |
||
) |
#include <opencv2/photo.hpp>
Creates TonemapReinhard object.
gamma | gamma value for gamma correction. See createTonemap |
intensity | result intensity in [-8, 8] range. Greater intensity produces brighter results. |
light_adapt | light 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_adapt | chromatic adaptation in [0, 1] range. If 1 channels are treated independently, if 0 adaptation level is the same for each channel. |