2010-07-29 5 views
0

Je travaille sur un projet utilisant OpenCV sur la correspondance de modèles et je souhaite limiter la zone de recherche sur une image. L'image est capturée en continu à partir d'une caméra.Masque/Zone de mise à zéro en dehors de la zone d'intérêt spécifiée

Y at-il un moyen de mettre à zéro/masquer l'image en dehors de la ROI définie, de sorte que le processus de correspondance de modèle peut être spécifique sur la région restante, plus rapide et précis?

Répondre

4

Jetez un oeil à la fonction cvSetImageROI.

void cvSetImageROI(IplImage* image, CvRect rect)

Définit une zone d'image d'intérêt (ROI) pour un rectangle donné. Paramètres:

  • image - Un pointeur sur l'en-tête d'image
  • rect - Le rectangle ROI

Si le retour sur investissement d'image d'origine était NULL et le rect n'est pas l'image entière, la La structure du ROI est allouée.

La plupart des fonctions OpenCV prennent en charge l'utilisation de ROI et traitent le rectangle d'image comme une image distincte. Par exemple, toutes les coordonnées des pixels sont comptées à partir du coin supérieur gauche (ou inférieur gauche) du ROI, et non de l'image originale .

This blog a quelques bons exemples d'utilisation de la fonction ROI.

1

Vous utilisez cvSetImageROI pour définir la zone d'intérêt. Les fonctions de correspondance de modèle utilisent uniquement le ROI que vous avez défini (et ignorent tout ce qui est en dehors de celui-ci)

+1

Merci pour les conseils. Géré pour le faire fonctionner. Merci. – cys

+0

Cela semble être un très bon succès. – jgmao

Questions connexes