我想更改以下两个用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使用什么?我问的是" cv2.DescriptorExtractor_create("SIFT")
"的等效代码是什么?在opencv 3?
答案 0 :(得分:7)
自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了解更多信息。