2012-08-04 4 views
1

Je souhaite superposer une image dans une image donnée. J'ai créé un masque avec une zone, où je peux mettre cette image:Comment superposer une image avec un masque donné

Image Hosted by ImageShack.us http://img560.imageshack.us/img560/1381/roih.jpg

Le problème est que la zone blanche contient une zone noire, où je ne peux pas mettre des objets.

Comment puis-je calculer efficacement où la sous-image doit se mettre? Je connais certaines fonctions comme PointPolygonTest. Mais cela prend très longtemps.

EDIT:

L'image de superposition doit mettre quelque part sur la place blanche. Par exemple à l'endroit du rectangle bleu.

Image Hosted by ImageShack.us http://img513.imageshack.us/img513/5756/roi2d.jpg

Répondre

1

Si je comprends bien, vous voulez mettre une image dans une région (aussi grand que l'image) qui est complètement blanc dans le masque.

Dans ce cas, afin d'obtenir des régions valides, j'appliquerais une érosion au masque en utilisant un noyau de la même taille que l'image à insérer. Après l'érosion, toutes les régions valides seront blanches.

L'image que vous présentez n'a toutefois pas 200 * 200 régions qui est entièrement blanc, donc je dois avoir mal compris ...

Mais si vous quoi calculer la région avec le moins noir dans le masque, vous pouvez appliquez un flou au lieu d'une érosion et recherchez le pixel d'intensité maximale dans le masque flou. Dans les deux cas, vous voulez insérer la sous-image de sorte que son centre soit sur la position pixel d'intensité maximale du masque érodé/flou.

Edit:

Si vous êtes intéressé à trouver la région qui serait le le plus éloigné de tout pixel noir pour mettre le sous-image, vous pouvez définir son centre comme la valeur maximale de la distance transformer du masque.

Bonne chance,

+0

Salut, SRY l'image a été sous-échantillonné, de sorte que la taille ne correspond pas. Je vais le tester avec la pyramide gaussienne. Merci –

+0

Dans ce cas, une simple érosion fonctionnera –

+0

Mais comment puis-je localiser la zone (CvPoint) où je peux mettre l'image? –

Questions connexes