Opencv calcHist et calcBackProject en anglais simple


10

j'ai commencé à expérimenter avec c ++ et opencv parce que je veux apprendre le traitement d'image.

Maintenant, mon premier exercice est de créer un détecteur de peau avec calcHist et calcBackProject .

Mais je ne comprends pas peu de choses:

  • l'interprétation statistique du projet arrière, et pourquoi il est nommé "projet arrière"
  • j'ai une assez bonne compréhension du paramètre des plages calcBackProject. Mais je suis vraiment coincé avec le paramètre gammes en calcHistfonction.
  • Pour plus de précision de détection, je pense que cela pourrait être une bonne chose d'utiliser la rétro-projection à plusieurs niveaux: dans chaque canal de rgb et dans chaque canal de hsv. Mais je ne sais pas comment je peux combiner les différents résultats de calcBackProjectcanaux séparés de rgb et hsv.

Et je pense que ma mauvaise compréhension est due au manque de théorie de ce que je fais avec ces 2 méthodes (voir le premier point). Veuillez donc m'expliquer en anglais simple.


Je suis également très intéressé par cela. Envoyez-moi un e-mail et nous pourrons en parler davantage.
Spacey

Réponses:


3

Voir What is Back Projection dans les tutoriels openCV

Un histogramme d'image mesure la distribution de la couleur (et de la luminosité) des pixels d'une image.

Si vous prenez une image et identifiez une région d'intérêt, par exemple. une main et calculer l'histogramme des pixels de cet objet.

Prenez ensuite cet histogramme et une deuxième image et inversez essentiellement le processus - vous choisissez les pixels dans la deuxième image qui correspondent à l'histogramme de la première. C'est ce processus inverse qui lui donne le nom de rétroprojection.

Vous faites ensuite l'hypothèse que les zones de l'image dans la deuxième image qui ont la même répartition des couleurs qu'un objet dans la première image sont une image du même objet (ou similaire).


Les réponses doivent contenir une réponse, pas seulement un lien.
endolith

@endolith - vrai, mais y a-t-il beaucoup d'intérêt à écrire une longue explication sur la façon d'utiliser la rétroprojection en opencv quand ils ont un tutoriel à ce sujet?
Martin Beckett

"Certainement un lien vers un autre site Web, mais vous devez au moins résumer le contenu de la page vers laquelle vous créez un lien." meta.stackexchange.com/a/13370/130885
endolith
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.