Je tente d'extraire la carte de disparité des objets de premier plan dans une image. Les objets de premier plan sont extraits en utilisant la couleur et le but final est de déterminer les coordonnées des objets extraits. Ci-dessous l'image masquée gauche de la vue avec des objets rougeâtres extraitcarte Disparity à partir d'images masquées de premier plan
et puis il y a l'image de droite
L'arrière-plan est essentiellement une fenêtre géante que je veux être ignoré et je me soucie seulement de trouver la position des objets rougeâtres (ou n'importe quelle couleur que je choisirai plus tard).
Après avoir joué avec les paramètres de l'algorithme de SGBM dans l'exemple OpenCV, principalement
int SADWindowSize
int minDisparity
int numberOfDisparities
Je n'étais pas en mesure d'obtenir des résultats satisfaisants, plus exactement l'algorithme n'a pas été en mesure de traiter très bien avec l'uniforme texture des parties masquées. Je vais poster deux exemples pour illustrer. Le SADWindowSize
est le seul paramètre varié dans ces exemples car il donne les résultats les plus distinctifs.
Exemple 1: avec une plus petite taille de la fenêtre = 9 et le nombre de disparités = 64
Exemple 2: avec une plus petite taille de la fenêtre = 23 et le nombre de disparités = 64
La plus grande taille de la fenêtre donne plus de résultats barbouillés qui ne sont pas souhaitables.
La question: Est-ce une mauvaise approche pour masquer l'arrière-plan lors du calcul de la carte de disparité? Une autre approche possible est de calculer la carte de disparité puis d'appliquer le masque mais je ne suis pas sûr de la plausibilité des résultats dans ce cas.
Notez que les caméras et les images calibrées et (masques) et sont rectifiées.
votre logique est juste, j'ai raté ce point. Je vous remercie. –