OpenCV 2.4.1 - le calcul de descripteurs SURF en Python
Je suis en train de mettre à jour mon code pour utiliser cv2.SURF()
par opposition à cv2.FeatureDetector_create("SURF")
et cv2.DescriptorExtractor_create("SURF")
. Cependant, je vais avoir de la difficulté à obtenir les descripteurs après la détection de l'keypoints. Quelle est la façon correcte d'appel SURF.detect
?
J'ai essayé de suivre le OpenCV de la documentation, mais je suis un peu confus. C'est ce qu'il est dit dans la documentation.
Python: cv2.SURF.detect(img, mask) → keypoints¶
Python: cv2.SURF.detect(img, mask[, descriptors[, useProvidedKeypoints]]) → keypoints, descriptors
Comment puis-je passer les keypoints lors de l'émission du deuxième appel à SURF.detect
?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr que je comprends vos questions correctement. Mais si vous êtes à la recherche pour un échantillon de correspondance des VAGUES keypoints, très simples et de base, on est au-dessous, qui est similaire à un modèle d'appariement:
Ci-dessous sont les résultats que j'ai obtenu (copier collé modèle de l'image sur l'image d'origine à l'aide de peinture):
Comme vous pouvez le voir, il y a quelques petites erreurs. Mais pour une startup, j'espère que c'est OK.
surf.detect(imgg,None,useProvidedKeypoints = False)
. Merci beaucoup! D'une grande aide.knn.train(samples,responses)
soulève une OpenCV d'Erreur: "les Tailles des arguments d'entrée ne correspondent pas (Réponse tableau doit contenir autant d'éléments que le nombre total d'échantillons)".Une amélioration de l'algorithme ci-dessus est:
Vous pouvez décommenter les instructions d'impression, pour avoir une meilleure idée sur les structures de données utilisées.