class cv::detail::MultiBandBlender

Overview

Blender which uses multi-band blending algorithm (see [13]). Moreā€¦

#include <blenders.hpp>

class MultiBandBlender: public cv::detail::Blender
{
public:
    // construction

    MultiBandBlender(
        int try_gpu = false,
        int num_bands = 5,
        int weight_type = CV_32F
        );

    // methods

    virtual
    void
    blend(
        InputOutputArray dst,
        InputOutputArray dst_mask
        );

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

    int
    numBands() const;

    virtual
    void
    prepare(Rect dst_roi);

    void
    setNumBands(int val);
};

Inherited Members

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_;

Detailed Documentation

Blender which uses multi-band blending algorithm (see [13]).

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
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.