2017-08-08 28 views
0

Ich möchte die folgenden zwei Befehle ändern, die in opencv 2.3 geschrieben sind.Python opencv 3 SIFT Merkmalsextraktion

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

In opencv 3, weiß ich, dass es einen Befehl, die SIFT schaffen ist, so

fea_det=cv2.xfeatures2d.SIFT_create() 

Aber was soll ich für des_ext verwenden? Ich frage, was ist der entsprechende Code von "cv2.DescriptorExtractor_create("SIFT")" in opencv 3?

+1

Erstes [_google search_] (https://www.google.com/search?q=opencv+3+sift+python&oq=opencv+3+sift+&aqs=chrome.0.0j69i60j69i57j0l3.3034j0j7&sourceid=chrome&ie=UTF- 8). SO ist keine Suche auf der Website von search engine_! –

Antwort

2

FeatureDetector_create und DescriptorExtractor_create, seit OpenCV 3 in das Unterverzeichnis xfeatures2d verschoben wurde.

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

Weitere Informationen finden Sie unter this article.

+0

Wenn die Antwort für Sie nützlich war, markieren Sie sie bitte als korrekt – Michael

Verwandte Themen