opencv功能匹配呃

时间:2017-11-14 17:30:32

标签: c++ opencv feature-extraction

我正在使用opencv并将其添加到c ++项目中。但是,我遇到了功能匹配问题。代码在这里:

cv::Ptr<Feature2D> f2d = xfeatures2d::SIFT::create();
std::vector<KeyPoint> keypoints_1, keypoints_2;
Mat descriptors_1, descriptors_2;

f2d->detectAndCompute(img_Org_Y_mat, Mat(), keypoints_1, descriptors_1);
f2d->detectAndCompute(img_Rec_Y_mat, Mat(), keypoints_2, descriptors_2);

vector<DMatch> matches;
BFMatcher matcher(NORM_L2);

matcher.match(descriptors_1, descriptors_2, matches);

我的最后一行有问题:

OpenCV Error: Assertion failed (masks.size() == imageCount) in 
cv::DescriptorMatcher::checkMasks, file C:\Opencv2\opencv 
master\modules\features2d\src\matchers.cpp, line 617

并在程序中写道:

Unhandled exception at 0x00007FF803FA9E08 in TAppEncoder.exe: Microsoft C++ 
exception: cv::Exception at memory location 0x000000CE624E9050.

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题。我已经解决了这个问题,但我不确定这个解决方案是否适合这个问题。我将分享我的解决方案。

我已经在发布模型中添加了一些.lib文件,例如opencv_bgsegm341.lib到&#34;附加依赖项&#34;因为失误。

删除后,程序运行成功。

我希望这会对你有所帮助。