class cv::TonemapDurand

Overview

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ā€¦

#include <photo.hpp>

class TonemapDurand: public cv::Tonemap
{
public:
    // methods

    virtual
    float
    getContrast() const = 0;

    virtual
    float
    getSaturation() const = 0;

    virtual
    float
    getSigmaColor() const = 0;

    virtual
    float
    getSigmaSpace() const = 0;

    virtual
    void
    setContrast(float contrast) = 0;

    virtual
    void
    setSaturation(float saturation) = 0;

    virtual
    void
    setSigmaColor(float sigma_color) = 0;

    virtual
    void
    setSigmaSpace(float sigma_space) = 0;
};

Inherited Members

public:
    // methods

    virtual
    void
    clear();

    virtual
    bool
    empty() const;

    virtual
    String
    getDefaultName() const;

    virtual
    void
    read(const FileNode& fn);

    virtual
    void
    save(const String& filename) const;

    virtual
    void
    write(FileStorage& fs) const;

    template <typename _Tp>
    static
    Ptr<_Tp>
    load(
        const String& filename,
        const String& objname = String()
        );

    template <typename _Tp>
    static
    Ptr<_Tp>
    loadFromString(
        const String& strModel,
        const String& objname = String()
        );

    template <typename _Tp>
    static
    Ptr<_Tp>
    read(const FileNode& fn);

    virtual
    float
    getGamma() const = 0;

    virtual
    void
    process(
        InputArray src,
        OutputArray dst
        ) = 0;

    virtual
    void
    setGamma(float gamma) = 0;

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;

Detailed Documentation

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.

This implementation uses regular bilateral filter from opencv.

Saturation enhancement is possible as in ocvTonemapDrago.

For more information see [20].