class cv::detail::Blender

Overview

Base class for all blenders. Moreā€¦

#include <blenders.hpp>

class Blender
{
public:
    // enums

    enum
    {
        NO,
        FEATHER,
        MULTI_BAND,
    };

    // methods

    virtual
    void
    blend(
        InputOutputArray dst,
        InputOutputArray dst_mask
        );

    virtual
    void
    feed(
        InputArray img,
        InputArray mask,
        Point tl
        );

    void
    prepare(
        const std::vector<Point>& corners,
        const std::vector<Size>& sizes
        );

    virtual
    void
    prepare(Rect dst_roi);

    static
    Ptr<Blender>
    createDefault(
        int type,
        bool try_gpu = false
        );

protected:
    // fields

    UMat dst_;
    UMat dst_mask_;
    Rect dst_roi_;
};

// direct descendants

class FeatherBlender;
class MultiBandBlender;

Detailed Documentation

Base class for all blenders.

Simple blender which puts one image over another

Methods

virtual
void
blend(
    InputOutputArray dst,
    InputOutputArray dst_mask
    )

Blends and returns the final pano.

Parameters:

dst Final pano
dst_mask Final pano mask
virtual
void
feed(
    InputArray img,
    InputArray mask,
    Point tl
    )

Processes the image.

Parameters:

img Source image
mask Source image mask
tl Source image top-left corners
void
prepare(
    const std::vector<Point>& corners,
    const std::vector<Size>& sizes
    )

Prepares the blender for blending.

Parameters:

corners Source images top-left corners
sizes Source image sizes
virtual
void
prepare(Rect dst_roi)

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