尝试使用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:错误返回,无异常设置
有什么建议吗?
答案 0 :(得分:0)
好的,解决问题最终变得简单了。正确的代码段如下所示:
feat_object = cv2.xfeatures2d.BriefDescriptorExtractor_create()
pt = [cv2.KeyPoint(point [0,0],point [1,0],10)]
out = feat_object.compute(frame,pt)
将帧定义为灰度图像,pt为关键点列表。因此,即使您只想处理单个关键点,仍然需要将其作为列表传递。
我只在opencv2中对此进行了测试。