class cv::cuda::FastFeatureDetector

Wrapping class for feature detection using the FAST method.

#include <cudafeatures2d.hpp>

class FastFeatureDetector:
    public cv::FastFeatureDetector,
    public cv::cuda::Feature2DAsync
{
public:
    // enums

    enum
    {
        LOCATION_ROW = 0,
        RESPONSE_ROW,
        ROWS_COUNT,
        FEATURE_SIZE = 7,
    };

    // methods

    static
    Ptr<FastFeatureDetector>
    create(
        int threshold = 10,
        bool nonmaxSuppression = true,
        int type = FastFeatureDetector::TYPE_9_16,
        int max_npoints = 5000
        );

    virtual
    int
    getMaxNumPoints() const = 0;

    virtual
    void
    setMaxNumPoints(int max_npoints) = 0;
};

Inherited Members

public:
    // enums

    enum
    {
        TYPE_5_8           = 0,
        TYPE_7_12          = 1,
        TYPE_9_16          = 2,
        THRESHOLD          = 10000,
        NONMAX_SUPPRESSION =10001,
        FAST_N             =10002,
    };

    // 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
    compute(
        InputArray image,
        std::vector<KeyPoint>& keypoints,
        OutputArray descriptors
        );

    virtual
    void
    compute(
        InputArrayOfArrays images,
        std::vector<std::vector<KeyPoint>>& keypoints,
        OutputArrayOfArrays descriptors
        );

    virtual
    int
    defaultNorm() const;

    virtual
    int
    descriptorSize() const;

    virtual
    int
    descriptorType() const;

    virtual
    void
    detect(
        InputArray image,
        std::vector<KeyPoint>& keypoints,
        InputArray mask = noArray()
        );

    virtual
    void
    detect(
        InputArrayOfArrays images,
        std::vector<std::vector<KeyPoint>>& keypoints,
        InputArrayOfArrays masks = noArray()
        );

    virtual
    void
    detectAndCompute(
        InputArray image,
        InputArray mask,
        std::vector<KeyPoint>& keypoints,
        OutputArray descriptors,
        bool useProvidedKeypoints = false
        );

    virtual
    bool
    empty() const;

    void
    read(const String& fileName);

    virtual
    void
    read(const FileNode& fn);

    void
    write(const String& fileName) const;

    virtual
    void
    write(FileStorage& fs) const;

    static
    Ptr<FastFeatureDetector>
    create(
        int threshold = 10,
        bool nonmaxSuppression = true,
        int type = FastFeatureDetector::TYPE_9_16
        );

    virtual
    bool
    getNonmaxSuppression() const = 0;

    virtual
    int
    getThreshold() const = 0;

    virtual
    int
    getType() const = 0;

    virtual
    void
    setNonmaxSuppression(bool f) = 0;

    virtual
    void
    setThreshold(int threshold) = 0;

    virtual
    void
    setType(int type) = 0;

    virtual
    void
    computeAsync(
        InputArray image,
        OutputArray keypoints,
        OutputArray descriptors,
        Stream& stream = Stream::Null()
        );

    virtual
    void
    convert(
        InputArray gpu_keypoints,
        std::vector<KeyPoint>& keypoints
        ) = 0;

    virtual
    void
    detectAndComputeAsync(
        InputArray image,
        InputArray mask,
        OutputArray keypoints,
        OutputArray descriptors,
        bool useProvidedKeypoints = false,
        Stream& stream = Stream::Null()
        );

    virtual
    void
    detectAsync(
        InputArray image,
        OutputArray keypoints,
        InputArray mask = noArray(),
        Stream& stream = Stream::Null()
        );

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;