我想更改以下两个在opencv 2.3中编写的命令。

fea_det=cv2.FeatureDetector_create("SIFT")
des_ext=cv2.DescriptorExtractor_create("SIFT")

在opencv 3中,我知道有一个创建SIFT的命令,因此
fea_det=cv2.xfeatures2d.SIFT_create()

但是我应该对des_ext使用什么?我问opencv 3中“cv2.DescriptorExtractor_create("SIFT")”的等效代码是什么?

最佳答案

从OpenCV 3开始,FeatureDetector_create和DescriptorExtractor_create已移动到xfeatures2d子目录。

>>> sift = cv2.xfeatures2d.SIFT_create()
>>> (kps, descs) = sift.detectAndCompute(gray, None)
>>> print("# kps: {}, descriptors: {}".format(len(kps), descs.shape))
# kps: 274, descriptors: (274, 128)

this article上查找更多信息。

关于python - Python opencv 3 SIFT功能提取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45576823/

10-12 14:28