Python 筛选或浏览-提供关键点并检索描述符

Python 筛选或浏览-提供关键点并检索描述符,python,opencv,surf,sift,Python,Opencv,Surf,Sift,我试图使用OpenCV(2.4.6.0)从我提供的关键点检索描述符 到目前为止,我还没有成功 l, des = surf.detectAndCompute(self.gray,None,useProvidedKeypoints = True) 其中,l是一组特征点。我不知道在哪里输入我已经有的关键点 有人知道我如何用SIFT或SURF来做这件事吗 谢谢你的帮助 > Python绑定看起来像是一个问题,因为C++等价于允许键入输入,所以代码< > Debug和CuthMeCd()/Cuffe >

我试图使用OpenCV(2.4.6.0)从我提供的关键点检索描述符

到目前为止,我还没有成功

l, des = surf.detectAndCompute(self.gray,None,useProvidedKeypoints = True)
其中,
l
是一组特征点。我不知道在哪里输入我已经有的关键点

有人知道我如何用SIFT或SURF来做这件事吗


谢谢你的帮助

> Python绑定看起来像是一个问题,因为C++等价于允许键入输入,所以代码< > Debug和CuthMeCd()/Cuffe >。幸运的是,有一个解决办法。如果已检测到关键点并将其存储在
l
中,则可以创建
描述符牵引器
对象并计算所提供关键点的描述符

生成快速关键点,然后计算SURF描述符的示例如下:

im = cv2.imread(path_to_image)
fast = cv2.FeatureDetector_create('FAST')
l = fast.detect(im)
surf = cv2.DescriptorExtractor_create('SURF')
l, des = surf.compute(im, l)

这同样适用于SIFT特性。只需将
'SIFT'
作为参数传递给
cv2.descriptor\u create()

嗨,奥雷利乌斯,当我尝试此解决方案时,我发现
l
的值发生了变化。我打印了
l
行前后的
l,des=surf.compute(im,l)
,注意到
l
中正在生成新的关键点。谢谢你的帮助。