Python opencv 3 SIFT特征提取

ali*_*ali 0 python opencv feature-extraction surf sift

我想更改以下两个用opencv 2.3编写的命令.

fea_det=cv2.FeatureDetector_create("SIFT")
des_ext=cv2.DescriptorExtractor_create("SIFT")
Run Code Online (Sandbox Code Playgroud)

在opencv 3中,我知道有一个创建SIFT的命令,所以

fea_det=cv2.xfeatures2d.SIFT_create()
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ael 8

自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)
Run Code Online (Sandbox Code Playgroud)

请查看本文的更多信息.