Je comprends comment RAPIDE, SIFT, SURF de travail mais n'arrive pas à comprendre
ceux qui ne sont que des détecteurs et qui sont des extracteurs.
En gros, à partir de cette liste de fonctionnalité des détecteurs/extracteurs (lien vers les articles: RAPIDE, GFTT, SIFT, SURF, MSER, STAR, ORBE, RAPIDE, FREAK, BREF), certains d'entre eux sont uniquement fonction des détecteurs (RAPIDE, GFTT), d'autres sont tout à la fois des détecteurs et descripteurs des extracteurs (SIFT, SURF, ORBE, FREAK).
Si je me souviens bien, BREF n'est qu'un descripteur extracteur, donc il a besoin de caractéristiques détectées par un autre algorithme de type RAPIDE ou ORBE.
Pour être sûr de qui est qui, vous devez vous naviguez dans l'article lié à l'algorithme ou parcourir opencv documentation pour voir ce qui a été mis en œuvre pour l' FeatureDetector
de la classe ou de qui était, pour l' DescriptorExtractor
classe.
Q1: classer les types de détecteurs, d'extracteurs et de rapprochement basé sur
le flotteur et le char, comme mentionné, ou un autre type de classification?
Q2: expliquer la différence entre le flotteur et le char de classification
ou selon la classification est-elle utilisée?
Concernant les questions 1 et 2, de les classer en tant que float et uchar, le lien que vous avez déjà posté est la meilleure référence que je sais, peut-être que quelqu'un sera en mesure de le compléter.
Q3: mentionner comment initialiser (le code) les différents types de détecteurs,
les extracteurs et les allumettes?
Répondant à la question 3, OpenCV fait le code pour utiliser les différents types tout à fait la même principalement, vous devez choisir une fonction de détecteur. La plupart de la différence est dans le choix du type de matcher et vous l'avez déjà mentionné le 3 ceux qui OpenCV est. Votre meilleur pari ici est de lire la documentation, des exemples de code, et liées à un Débordement de Pile questions. Aussi, certains posts sont une excellente source d'information, comme ceux de la série de la fonction de détecteur de points de référence par Ievgen Khvedchenia.
Les allumettes sont utilisés pour déterminer si un descripteur de fichier est similaire à un autre descripteur à partir d'une liste. Vous pouvez comparer votre requête descripteur avec tous les autres descripteurs de la liste (BruteForce) ou d'utiliser une meilleure heuristique (FlannBased, knnMatch). Le problème est que les critères ne permettent pas de travail pour tous les types de descripteurs. Par exemple, FlannBased de mise en œuvre utilisés pour fonctionner uniquement avec float
descripteurs, mais pas avec uchar
s '(Mais depuis la version 2.4.0, FlannBased avec LSH indice peut être appliquée à uchar descripteurs).
En citant cette Application-Solut blog à propos de l' DescriptorMatcher
types de:
Le DescriptorMatcher vient dans les variétés "FlannBased",
"BruteForceMatcher", "BruteForce-L1" et "BruteForce-HammingLUT". L'
"FlannBased" matcher utilise le flann (fast bibliothèque approximative
voisins les plus proches) bibliothèque sous le capot d'effectuer plus rapidement, mais
la correspondance approximative. Le "BruteForce-*" versions de manière exhaustive searche
le dictionnaire pour trouver la correspondance la plus proche pour un élément de l'image à la une
mot dans le dictionnaire.
Certains des plus populaires, les combinaisons sont les suivantes:
Fonction des Détecteurs de Decriptor Extracteurs / types de Rapprochement
(RAPIDE, SURF) / SURF / FlannBased
(RAPIDE, EIPD) / SIFT / FlannBased
(RAPIDE, ORB) / ORBE / Bruteforce
(RAPIDE, ORB) / BRÈVES / Bruteforce
(RAPIDE, SURF) / MONSTRE / Bruteforce
Vous pourriez aussi remarqué il y a quelques cartes (Dynamique, Pyramide, Grille) à la fonction des détecteurs. L'App-Solut blog résume vraiment bien de leur utilisation:
(...) et il y a aussi un couple de cartes que l'on peut utiliser pour changer
le comportement de la touche de point de détecteurs. Par exemple, l' Dynamic
adaptateur qui permet de régler un détecteur de type spécifique seuil de détection
jusqu'à ce que suffisamment de points clés sont trouvés dans une image ou l' Pyramid
carte
qui construit une pyramide Gaussienne de détecter les points sur plusieurs
les échelles. L' Pyramid
adaptateur est utile pour la fonction des descripteurs
ne sont pas invariant d'échelle.
Pour en savoir plus: