我试图运行一个应用程序来检测图像中的功能,但是当我运行BRISK特性、BRIEF描述符和FlannBased匹配器的代码时,它会崩溃,并说:
OpenCV Error: Unsupported format or combination of formats (type=0
) in buildIndex_, file /home/stefan/git_repos/opencv/modules/flann/src/miniflann.cpp, line 315
terminate called after throwing an instance of 'cv::Exception'
what(): /home/stefan/git_repos/opencv/modules/flann/src/miniflann.cpp:315: error: (-210) type=0
in function buildIndex_
Aborted (core dumped)知道为什么吗?
发布于 2014-05-13 19:01:05
也许你试过使用KD或KMeans?它们只适用于CV_32F描述符,如SIFT或SURF。对于简短\ORB\FREAK这样的二进制描述符,您必须使用LSH或分层聚类索引。或者简单的蛮力搜索。您可以自动管理它,例如这样。
cv::flann::Index GenFLANNIndex(cv::Mat keys)
{
switch (keys.type())
{
case CV_32F:
{
return cv::flann::Index(keys,cv::flann::KDTreeIndexParams(4));
break;
}
case CV_8U:
{
return cv::flann::Index(keys,cv::flann::HierarchicalClusteringIndexParams(),dist_type);
break;
}
default:
{
return cv::flann::Index(keys,cv::flann::KDTreeIndexParams(4));
break;
}
}
}
...
cv::flann::Index tree = GenFLANNIndex(descriptors);https://stackoverflow.com/questions/23634730
复制相似问题