Tone Mapping

The tone mapping setting controls when tone mapping of colors is performed. Tone mapping normalizes the captured color image to the full available output range by applying a gain factor to the colors. Tone mapping setting has two possible values:

  • HdrOnly

  • Always

HdrOnly performs tone mapping for multi-acquisition HDR captures but not for single acquisition captures. Always performs tone mapping for all captures.

Note

It is not possible to disable tone mapping for HDR.

For single acquisition captures tone mapping can be used to brighten dark images.

Single capture with Tone Mapping set to HdrOnly

Single capture with Tone Mapping set to Always

Single capture with Tone Mapping set to HdrOnly

Single capture with Tone Mapping set to Always

For multi-acquisition HDR tone mapping is required to map high-dynamic-range colors to the more limited dynamic range output.

HDR with three acquisitions with Tone Mapping set to HdrOnly

HDR with three acquisitions with Tone Mapping set to HdrOnly

First of three HDR acquisitions with Tone Mapping set to HdrOnly

Second of three HDR acquisitions with Tone Mapping set to HdrOnly

Third of three HDR acquisitions with Tone Mapping set to HdrOnly

First of three HDR acquisitions with Tone Mapping set to HdrOnly

Second of three HDR acquisitions with Tone Mapping set to HdrOnly

Third of three HDR acquisitions with Tone Mapping set to HdrOnly

Check out how to set processing settings with Zivid SDK, including tone mapping:

Go to source

source

std::cout << "Configuring processing settings for capture:" << std::endl;
Zivid::Settings settings{
    Zivid::Settings::Experimental::Engine::phase,
    Zivid::Settings::Processing::Filters::Smoothing::Gaussian::Enabled::yes,
    Zivid::Settings::Processing::Filters::Smoothing::Gaussian::Sigma{ 1.5 },
    Zivid::Settings::Processing::Filters::Noise::Removal::Enabled::yes,
    Zivid::Settings::Processing::Filters::Noise::Removal::Threshold{ 7.0 },
    Zivid::Settings::Processing::Filters::Outlier::Removal::Enabled::yes,
    Zivid::Settings::Processing::Filters::Outlier::Removal::Threshold{ 5.0 },
    Zivid::Settings::Processing::Filters::Reflection::Removal::Enabled::yes,
    Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled::yes,
    Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength{ 0.4 },
    Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled::no,
    Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold{ 0.5 },
    Zivid::Settings::Processing::Color::Balance::Red{ 1.0 },
    Zivid::Settings::Processing::Color::Balance::Green{ 1.0 },
    Zivid::Settings::Processing::Color::Balance::Blue{ 1.0 },
    Zivid::Settings::Processing::Color::Gamma{ 1.0 },
    Zivid::Settings::Processing::Color::Experimental::ToneMapping::Enabled::hdrOnly
};
std::cout << settings.processing() << std::endl;

Version History

SDK

Changes

2.3.0

Tone mapping API is added.