我有一个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都没有与关键点数量相同的大小。
答案 0 :(得分:0)
descriptor-&gt; compute可以从数组中删除关键点 - 如果它不能计算给定关键点的描述符。在调用compute之后,两个矩阵应该具有相同的行数。