opencv,从描述符cv :: Mat中获取单个描述符?

时间:2018-05-22 10:03:41

标签: opencv

我有一个opencv应用程序,我需要存储一个2d点的坐标,以及该点的特征描述符。

例如,在我运行以下代码后:

std::vector<KeyPoint> keypoints_1;
Mat descriptors_1;
Ptr<FeatureDetector> detector = ORB::create();
Ptr<DescriptorExtractor> descriptor = ORB::create();

detector->detect ( img_1,keypoints_1 );
descriptor->compute ( img_1, keypoints_1, descriptors_1 );

我得到descriptors_1,这是每个Keypoint&#39;

的每个描述符

如何获取与keypoints_1[12]对应的描述符,并将其存储为Mat?

descriptors_1.rows和descriptors_1.cols都没有与关键点数量相同的大小。

1 个答案:

答案 0 :(得分:0)

descriptor-&gt; compute可以从数组中删除关键点 - 如果它不能计算给定关键点的描述符。在调用compute之后,两个矩阵应该具有相同的行数。