Python opencv 3 SIFT特征提取

Python opencv 3 SIFT feature extraction

我想更改以下两个用 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")”的等效代码是什么?

FeatureDetector_create 和 DescriptorExtractor_create 因为 OpenCV 3 已移至 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 上查看更多信息。