相关疑难解决方法(0)

带有ORB描述符的opencv FLANN?

我试图使用带有ORB描述符的FLANN,但opencv崩溃了这个简单的代码:

vector<vector<KeyPoint> > dbKeypoints;
vector<Mat> dbDescriptors;
vector<Mat> objects;   

/*
  load Descriptors from images (with OrbDescriptorExtractor())
*/

FlannBasedMatcher matcher;

matcher.add(dbDescriptors); 
matcher.train() //> Crash!
Run Code Online (Sandbox Code Playgroud)

如果我使用SurfDescriptorExtractor()它效果很好.

我怎么解决这个问题?

OpenCV说:

OpenCV Error: Unsupported format or combination of formats (type=0
) in unknown function, file D:\Value\Personal\Parthenope\OpenCV\modules\flann\sr
c\miniflann.cpp, line 299
Run Code Online (Sandbox Code Playgroud)

c++ opencv surf sift

16
推荐指数
4
解决办法
2万
查看次数

OpenCV - 将FLANN与ORB描述符一起使用以匹配要素

我正在使用OpenCV 3.2

我试图使用FLANN以比蛮力更快的方式匹配功能描述符.

// Ratio to the second neighbor to consider a good match.
#define RATIO    0.75

void matchFeatures(const cv::Mat &query, const cv::Mat &target,
                   std::vector<cv::DMatch> &goodMatches) {
    std::vector<std::vector<cv::DMatch>> matches;
    cv::Ptr<cv::FlannBasedMatcher> matcher = cv::FlannBasedMatcher::create();
    // Find 2 best matches for each descriptor to make later the second neighbor test.
    matcher->knnMatch(query, target, matches, 2);
    // Second neighbor ratio test.
    for (unsigned int i = 0; i < matches.size(); ++i) {
        if (matches[i][0].distance < matches[i][1].distance * RATIO)
            goodMatches.push_back(matches[i][0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码使用SURF和SIFT描述符,但不使用ORB.

OpenCV Error: …
Run Code Online (Sandbox Code Playgroud)

c++ opencv orb flann feature-descriptor

4
推荐指数
2
解决办法
9989
查看次数

标签 统计

c++ ×2

opencv ×2

feature-descriptor ×1

flann ×1

orb ×1

sift ×1

surf ×1