将opencv的冲浪描述符转换为矩阵

时间:2014-01-16 03:58:41

标签: opencv surf

我是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?

1 个答案:

答案 0 :(得分:1)

您可以使用OpenCV新API SurfFeatureDetector。它会直接将关键点保存到vector<KeyPoint>

int minHessian = 400;
SurfFeatureDetector detector( minHessian );
std::vector<KeyPoint> keypoints;
detector.detect( img, keypoints);

查看cv::KeyPoint Class Reference

查看[1][2]以获取真实示例。