class cv::MergeMertens

Overview

Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids. More…

#include <photo.hpp>

class MergeMertens: public cv::MergeExposures
{
public:
    // methods

    virtual
    float
    getContrastWeight() const = 0;

    virtual
    float
    getExposureWeight() const = 0;

    virtual
    float
    getSaturationWeight() const = 0;

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

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

    virtual
    void
    setContrastWeight(float contrast_weiht) = 0;

    virtual
    void
    setExposureWeight(float exposure_weight) = 0;

    virtual
    void
    setSaturationWeight(float saturation_weight) = 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
    void
    process(
        InputArrayOfArrays src,
        OutputArray dst,
        InputArray times,
        InputArray response
        ) = 0;

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;

Detailed Documentation

Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids.

The resulting image weight is constructed as weighted average of contrast, saturation and well-exposedness measures.

The resulting image doesn’t require tonemapping and can be converted to 8-bit image by multiplying by 255, but it’s recommended to apply gamma correction and/or linear tonemapping.

For more information see [57].

Methods

virtual
void
process(
    InputArrayOfArrays src,
    OutputArray dst,
    InputArray times,
    InputArray response
    ) = 0

Merges images.

Parameters:

src vector of input images
dst result image
times vector of exposure time values for each image
response 256x1 matrix with inverse camera response function for each pixel value, it should have the same number of channels as images.
virtual
void
process(
    InputArrayOfArrays src,
    OutputArray dst
    ) = 0

Short version of process, that doesn’t take extra arguments.

Parameters:

src vector of input images
dst result image