class cv::detail::ExposureCompensator

Overview

Base class for all exposure compensators. Moreā€¦

#include <exposure_compensate.hpp>

class ExposureCompensator
{
public:
    // enums

    enum
    {
        NO,
        GAIN,
        GAIN_BLOCKS,
    };

    // methods

    virtual
    void
    apply(
        int index,
        Point corner,
        InputOutputArray image,
        InputArray mask
        ) = 0;

    void
    feed(
        const std::vector<Point>& corners,
        const std::vector<UMat>& images,
        const std::vector<UMat>& masks
        );

    virtual
    void
    feed(
        const std::vector<Point>& corners,
        const std::vector<UMat>& images,
        const std::vector<std::pair<UMat, uchar>>& masks
        ) = 0;

    static
    Ptr<ExposureCompensator>
    createDefault(int type);
};

// direct descendants

class BlocksGainCompensator;
class GainCompensator;
class NoExposureCompensator;

Detailed Documentation

Base class for all exposure compensators.

Methods

virtual
void
apply(
    int index,
    Point corner,
    InputOutputArray image,
    InputArray mask
    ) = 0

Compensate exposure in the specified image.

Parameters:

index Image index
corner Image top-left corner
image Image to process
mask Image mask
void
feed(
    const std::vector<Point>& corners,
    const std::vector<UMat>& images,
    const std::vector<UMat>& masks
    )

Parameters:

corners Source image top-left corners
images Source images
masks Image masks to update (second value in pair specifies the value which should be used to detect where image is)
virtual
void
feed(
    const std::vector<Point>& corners,
    const std::vector<UMat>& images,
    const std::vector<std::pair<UMat, uchar>>& masks
    ) = 0

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.