C++ 在opencv::flann中使用LSH索引时出错

C++ 在opencv::flann中使用LSH索引时出错,c++,opencv,flann,C++,Opencv,Flann,我试图在opencv中使用flann的LSH实现: const int mySizes[1]={100}; cv::Mat descriptors1 = cv::Mat::zeros(1,mySizes,CV_32F); cv::Mat descriptors2 = cv::Mat::zeros(1,mySizes,CV_32F); cv::Ptr<cv::DescriptorMatcher> matcher_; matcher_ = new cv::FlannBasedMatch

我试图在opencv中使用flann的LSH实现:

const int mySizes[1]={100};
cv::Mat descriptors1 = cv::Mat::zeros(1,mySizes,CV_32F);
cv::Mat descriptors2 = cv::Mat::zeros(1,mySizes,CV_32F);

cv::Ptr<cv::DescriptorMatcher> matcher_;
matcher_ = new cv::FlannBasedMatcher(new cv::flann::LshIndexParams(20,10,2));
std::vector<cv::DMatch> matches;
matcher_->match(descriptors1, descriptors2, matches);

std::cout << matches[0].distance << std::endl;

代码非常简单,我做错了什么?

使用了错误的描述符类型,解决方案:

cv::UMat descriptors1 = cv::UMat (1, 100, CV_8UC1);
cv::UMat descriptors2 = cv::UMat (1, 100, CV_8UC1);
我认为这是相关的:
cv::UMat descriptors1 = cv::UMat (1, 100, CV_8UC1);
cv::UMat descriptors2 = cv::UMat (1, 100, CV_8UC1);