Bonjour
Je débute avec OpenCV, j'ai besoin d'extraire une partie d'une première image, et de la superposer sur une seconde image.
Merci de m'expliquer la démarche a suivre
Bonjour
Je débute avec OpenCV, j'ai besoin d'extraire une partie d'une première image, et de la superposer sur une seconde image.
Merci de m'expliquer la démarche a suivre
Bonjour,
A priori, voici l'algo que tu dois suivre
Crée 3 variables images
- L'une avec un cvLoadImage, les autres avec des cvCreateImage en prenant les meme dimensions que ta premiere
- POur extraire, je ne me souviens plus de la fonction qui le fait
- Enfin pour superposer, il existe la fonction cvAdd qui superpose 2 images en une (si j'ai bien compris ton terme superposé)
Voila
Bonne journée
Ok merci pour la fonction CvAdd c'est ce que je voulais.
Et comment extraire une partie d'une image?
Je pourrai le faire pixel par pixel dans buffer, mais n'y a t il pas une solution plus simple?
Merci
si tu connais l'endroit ou est ton morceau d'image :
cvSetImageROI(img,Rect)
Rect est un cvRect de la taille de ta zone, et dont l'origine est située au coin haut et gauche de ta zone
ensuite tu manipules ta ROI comme tu veux et quand tu as fini :
cvResetImageRoi(img)
Ok tres bien, mais la zone sur laquelle je travaille n'est pas rectangulaire c'est un quadralitere quelconque. Y a t il alors un substitue à l'utilisation d'un cvrect.
Merci
Ca y est j'ai trouvé, merci de votre aide, pour ceux que ca intéresse:
Utiliser cvgetsubrect pour mettre une partie de l'image dans une matrice
ensuite j'ai mis cette matrice en iplimage (pas nécessaire) avec cvgetimage dans une image temp
Ensuite jouer avec les ROI, et utiliser cvCopy et non cvAdd, pour superposer une image sur une autre.
Partager