我正在使用 opencv 3.2.0,我正在尝试分别与 FAST、BRISK、BruteForce 进行特征检测、描述符计算和描述符匹配。我在 Visual Studio 2017 中使用 C++。
std::vector<KeyPoint> keypoints1, keypoints2;
cv::Mat descriptors1, descriptors2;
m_image_A = imread("a.bmp", IMREAD_GRAYSCALE);
m_image_B = imread("b.bmp", IMREAD_GRAYSCALE);
cv::Ptr<cv::FeatureDetector> a = cv::FastFeatureDetector::create();
a->detect(m_image_A, keypoints1);
a->detect(m_image_B, keypoints2);
cv::Ptr<cv::DescriptorExtractor> ex = cv::BRISK::create();
ex->compute(m_image_A, keypoints1, descriptors1);
ex->compute(m_image_B, keypoints2, descriptors2);
cv::Ptr<cv::DescriptorMatcher> matcher;
std::vector<vector<DMatch>> matches;
matcher = cv::BFMatcher::create();
matcher->knnMatch(descriptors1, descriptors2, matches, 2);
这是我的简单代码,它不能正常运行。我阅读了许多代码和提示,但我找不到适合我的问题的解决方案。
有谁能帮助我吗?我怎样才能让它正常运行?