0

J'ai une séquence d'images prises à partir d'une caméra. Les images se composent de la main et des environs. J'ai besoin de tout enlever sauf la main.Traitement d'image ... soustraction au sol

Je suis nouveau dans le traitement d'image. Quelqu'un m'aiderait-il en ce qui concerne la question ci-dessus. Je suis à l'aise avec C et Matlab.

Répondre

4

Une approche très simple si vous avez un fond fixe et une main en mouvement (et pas mal d'images!) Est simplement de prendre la moyenne de l'ensemble des images à l'écart de chaque image. Si rien d'autre, c'est une introduction douce à Matlab.

+1

+1 pour l'approche simple. Parfois, la "valeur de pixel la plus courante" à travers les images est tout aussi simple et fonctionne mieux. –

3

Le nom du problème que vous tentez de résoudre est "Segmentation d'image". La page Wikipedia ici: wiki est un bon début. Si la cohérence de l'éclairage n'est pas un problème pour vous, je suggérerais de commencer par un simple seuillage RVB et de voir jusqu'où cela vous mènera avant d'essayer quelque chose de plus compliqué.

0

Jetez un oeil à OpenCV, une bibliothèque FOSS pour les applications de vision par ordinateur. Plus précisément, voir le module Video Surveillance. Pour une promenade de la soustraction d'arrière-plan dans MATLAB, voir ceci EETimes article.

0

Pouvez-vous spécifier quel type d'images vous avez. L'arrière-plan est-il en mouvement ou statique? Pour un fond statique, c'est un peu simple. Vous devez simplement soustraire l'image entrante de l'image d'arrière-plan. Vous pouvez utiliser certaines opérations morphologiques pour le rendre meilleur. Ils dépendent tous de la qualité des images que vous avez. Si vous avez un arrière-plan en mouvement, je vous suggère d'opter pour la segmentation basée sur la couleur. Convertir l'image en YCbCr puis seuil de manière appropriée. Je sais qu'il y a quelques papiers disponibles dessus (cependant je n'ai pas le temps de les localiser). Je suggère de les lire en premier. Voici un lien qui pourrait vous aider. Lire la partie de segmentation de la peau.

http://www.stanford.edu/class/ee368/Project_03/Project/reports/ee368group08.pdf

0

soustraction de fond est simple à mettre en œuvre (fond estimation en moyenne de tous les cadres, puis soustraire chaque trame de fond et le seuil résultant différence absolue) mais fonctionne malheureusement bien que si 1. appareil photo a un gain et l'exposition manuelle 2. les conditions d'éclairage ne changent pas 3.background est stationnaire. 4. l'arrière-plan est visible pour beaucoup plus longtemps que l'avant-plan.

étant donné votre description je suppose que ce n'est pas le cas - ce que vous pouvez utiliser - comme déjà indiqué - est la couleur comme moyen de segmenter le premier plan de l'arrière-plan. Comme c'est une main que vous essayez d'isoler le meilleur pari, c'est d'apprendre la couleur de la main. opencv fournit certains moyens de le faire. Si vous voulez le faire vous-même, vous obtenez juste la couleur de certains des pixels de la main (vous devez spécifier ceci manuellement pour au moins une image) et les convertir en HUE (qui encapsule la couleur de façon indépendante de la luminosité. a une teinte très constante) et ensuite faire un histogramme HUE. comparez cela au reste des pixels, puis décidez si la teinte est assez similaire.