我想更改以下两个在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/