J'EIPD avec la mise en œuvre OpenCV et souhaite construire un ensemble de données de descripteurs d'images, mais simplement ramasser seulement le meilleur n (200 mieux, 300 ...)OpenCV: Comment puis-je récupérer les n meilleurs descripteurs d'une image en utilisant SIFT?
Répondre
Selon la documentation de SIFT
SIFT :: SIFT (int nCaractéristiques = 0, int nOctaveLayers = 3, double contrastThreshold = 0,04, double edgeThreshold = 10, double sigma = 1,6)
nCaractéristiques - Le nombre de meilleures caractéristiques à retenir. Les caractéristiques sont classés par leurs scores (mesurés dans l'algorithme SIFT comme le contraste local)
Ainsi, vous pouvez tout simplement passer nfeatures = 200
dans le constructeur de garder les meilleurs 200 points-clés.
Mais en java le code sera comme ça et il n'y a pas d'autres paramètres que je peux ajouter: DescriptorExtractor descriptorExtractor = DescriptorExtractor.create (DescriptorExtractor.TAMISER); – Anonymous
@Walaa Grâce à cette interface, vous pouvez appeler le constructeur par défaut uniquement. Vous devez appeler le constructeur SIFT explicitement. – Miki
J'essaye de le faire mais je ne l'ai pas fait explicitement dans OpenCV 2.4.8 – Anonymous
Comment allez-vous définir _best_? – Miki
meilleur = meilleur score :) – Anonymous
ok, quel score? – Miki