c++ - OpenCV 功能 FAST 未在源代码中实现

标签 c++ opencv

我正在尝试使用 C++ 中的 OpenCV 3.1 实现快速特征检测/描述计算。

我的代码:

Ptr<cv::FastFeatureDetector> fast = cv::FastFeatureDetector::create();
fast->detectAndCompute(img1, Mat(), keypoints1, desc);

但是当我应用 detectAndCompute 时,出现错误。调试后,我看到在源文件(features2d.cpp)中一定会抛出错误:

//[In source file features2d.cpp]
/* Detects keypoints and computes the descriptors */
     void Feature2D::detectAndCompute( InputArray, InputArray,
                                      std::vector<KeyPoint>&,
                                      OutputArray,
                                      bool )
    {
        CV_Error(Error::StsNotImplemented, "");
    }

为什么没有实现?还有其他方法可以让我使用 FAST 吗?

最佳答案

您还可以在 openCV 中创建一个特征检测器通用指针并使用它。

cv::Ptr<cv::FeatureDetector> detectorPFast= FeatureDetector::create("PyramidFAST"); 
    std::vector<KeyPoint> keypointsPFast1;
    detectorPFast->detect( src, keypointsPFast1 );

关于c++ - OpenCV 功能 FAST 未在源代码中实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256174/

相关文章:

c++ - 为什么 c++ 中的堆被实现为算法而不是容器?

Opencv(2.4.9)捕获视频,但是当我将它放在centos(ffmpeg 1.1.3)上时程序比在windows上慢,这是怎么回事?

opencv - OpenCV 和 CMake 的链接问题

python - 使用Opencv Python从相机检测面部

c++ - 带有网络摄像机的 OpenCV

python - python图像处理中如何做OR掩码操作?

c++ - 如何相互连接或链接两个 C++ 程序?

c++ - 我可以将 "force"线程唤醒吗?

c++ - glBindTexture 不工作

c++ - 正确命名的临时对象和右值引用/移动