图像中给定2d点的特征描述符

时间:2017-04-27 23:50:50

标签: python opencv3.1

尝试使用python opencv3获取预定义点的描述符。目标是为给定图像提供一组点并获得其相应的特征描述符。我愿意使用SIFT,SURF,Brief,ORB,基本上是任何描述符。但是,我不想使用任何提供的检测方法。我创建了以下内容:

feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create()

# define keypoint for a single 2d point
pt = cv2.KeyPoint(point[0,0],point[1,0], 10)

# create feature descriptor
out = feat_object.compute(frame, pt)

但是,我收到以下错误。

  

----> out = feat_object.compute(frame,pt)

     

SystemError:错误返回,无异常设置

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好的,解决问题最终变得简单了。正确的代码段如下所示:

feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create()

定义单个2d点的关键点

pt = [cv2.KeyPoint(point [0,0],point [1,0],10)]

创建要素描述符

out = feat_object.compute(frame,pt)

将帧定义为灰度图像,pt为关键点列表。因此,即使您只想处理单个关键点,仍然需要将其作为列表传递。

我只在opencv2中对此进行了测试。