我是C和OpenCV的新手,我想获得冲浪描述符的数据矩阵。
double tt = (double)cvGetTickCount();
cvExtractSURF( object, 0, &objectKeypoints, &objectDescriptors, storage, params );
printf("Object Descriptors: %d\n", objectDescriptors->total);
如果我使用cvSave(fileName, objectDescriptors)
然后我可以获取XML文件,我的问题是如何才能获得objectDescriptor数据描述符的矩阵,例如,有45个关键点,那么矩阵是{ {1}}?
如何直接从A=matrix[45][64]
获取A?
如何从xml文件中获取A?
答案 0 :(得分:1)
您可以使用OpenCV新API SurfFeatureDetector
。它会直接将关键点保存到vector<KeyPoint>
。
int minHessian = 400;
SurfFeatureDetector detector( minHessian );
std::vector<KeyPoint> keypoints;
detector.detect( img, keypoints);