class cv::ShapeTransformer

Overview

Abstract base class for shape transformation algorithms. Moreā€¦

#include <shape_transformer.hpp>

class ShapeTransformer: public cv::Algorithm
{
public:
    // methods

    virtual
    float
    applyTransformation(
        InputArray input,
        OutputArray output = noArray()
        ) = 0;

    virtual
    void
    estimateTransformation(
        InputArray transformingShape,
        InputArray targetShape,
        std::vector<DMatch>& matches
        ) = 0;

    virtual
    void
    warpImage(
        InputArray transformingImage,
        OutputArray output,
        int flags = INTER_LINEAR,
        int borderMode = BORDER_CONSTANT,
        const Scalar& borderValue = Scalar()
        ) const = 0;
};

// direct descendants

class AffineTransformer;
class ThinPlateSplineShapeTransformer;

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

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;

Detailed Documentation

Abstract base class for shape transformation algorithms.

Methods

virtual
float
applyTransformation(
    InputArray input,
    OutputArray output = noArray()
    ) = 0

Apply a transformation, given a pre-estimated transformation parameters.

Parameters:

input Contour (set of points) to apply the transformation.
output Output contour.
virtual
void
estimateTransformation(
    InputArray transformingShape,
    InputArray targetShape,
    std::vector<DMatch>& matches
    ) = 0

Estimate the transformation parameters of the current transformer algorithm, based on point matches.

Parameters:

transformingShape Contour defining first shape.
targetShape Contour defining second shape (Target).
matches Standard vector of Matches between points.
virtual
void
warpImage(
    InputArray transformingImage,
    OutputArray output,
    int flags = INTER_LINEAR,
    int borderMode = BORDER_CONSTANT,
    const Scalar& borderValue = Scalar()
    ) const = 0

Apply a transformation, given a pre-estimated transformation parameters, to an Image.

Parameters:

transformingImage Input image.
output Output image.
flags Image interpolation method.
borderMode border style.
borderValue border value.