class cv::cuda::BroxOpticalFlow

Overview

Class computing the optical flow for two images using Brox et al Optical Flow algorithm ([12]). Moreā€¦

#include <cudaoptflow.hpp>

class BroxOpticalFlow: public cv::cuda::DenseOpticalFlow
{
public:
    // methods

    virtual
    double
    getFlowSmoothness() const = 0;

    virtual
    double
    getGradientConstancyImportance() const = 0;

    virtual
    int
    getInnerIterations() const = 0;

    virtual
    int
    getOuterIterations() const = 0;

    virtual
    double
    getPyramidScaleFactor() const = 0;

    virtual
    int
    getSolverIterations() const = 0;

    virtual
    void
    setFlowSmoothness(double alpha) = 0;

    virtual
    void
    setGradientConstancyImportance(double gamma) = 0;

    virtual
    void
    setInnerIterations(int inner_iterations) = 0;

    virtual
    void
    setOuterIterations(int outer_iterations) = 0;

    virtual
    void
    setPyramidScaleFactor(double scale_factor) = 0;

    virtual
    void
    setSolverIterations(int solver_iterations) = 0;

    static
    Ptr<BroxOpticalFlow>
    create(
        double alpha = 0.197,
        double gamma = 50.0,
        double scale_factor = 0.8,
        int inner_iterations = 5,
        int outer_iterations = 150,
        int solver_iterations = 10
        );
};

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
    calc(
        InputArray I0,
        InputArray I1,
        InputOutputArray flow,
        Stream& stream = Stream::Null()
        ) = 0;

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;

Detailed Documentation

Class computing the optical flow for two images using Brox et al Optical Flow algorithm ([12]).

Methods

virtual
int
getInnerIterations() const = 0

number of lagged non-linearity iterations (inner loop)

virtual
int
getOuterIterations() const = 0

number of warping iterations (number of pyramid levels)

virtual
int
getSolverIterations() const = 0

number of linear system solver iterations