Matlab fusion d'images

Résolu/Fermé
OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 - 6 déc. 2009 à 00:57
OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 - 6 déc. 2009 à 21:01
Bonjour,

je travail sur un projet. logiciel matlab.

j'ai 2 images : une plus grande que l'autre.
je veux remplacer une zone de la plus grande par la petite.
(sachant que la petite fait déjà la bonne taille - enfin si vous avez un meilleur code...^^ )
(les images sont en RVB codé en uint8. si ça peut aider...)
avez vous une solution s'il vous plait.

Merci d'avance
A voir également:

2 réponses

OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 8
6 déc. 2009 à 02:50
bon alors j'ai une solution mais cela m'amène à d'autres problèmes...

pour mettre la petite image (photo2) dans la grande (img_vid) voila le code :

for i=176:325
for j=148:357
img_vid(i,j,1)=double(photo2(i-175,j-147,1));
img_vid(i,j,2)=double(photo2(i-175,j-147,2));
img_vid(i,j,3)=double(photo2(i-175,j-147,3));
end
end
% je ne sais plus si les double(...) sont utiles...

mais en fait photos 2 est une image transformé grâce à ça :

photo = imread('logomatlab.jpg');
coord_ini = [0 0 ; info.Width 0 ; info.Width info.Height ; 0 info.Height];tform = cp2tform(coord_ini,picots_ord,'projective');
photo2 = imtransform(double(photo),tform);
...

et c'est à la suite de ça que vient l'incrustation.

Par contre, la transformation (une homothétie) créait une image rectangulaire, avec la photo transformée en travers et remplie le reste en noir soit la valeur : 0

Mon but est de ne pas coller ces zones sur la grande image.
a noter que un test de ce genre me ignorerais certainement toutes les valeur 0 de mon image... :
for i=176:325
for j=148:357
if(photo2~=0)
img_vid(i,j,1)=double(photo2(i-175,j-147,1));
img_vid(i,j,2)=double(photo2(i-175,j-147,2));
img_vid(i,j,3)=double(photo2(i-175,j-147,3));
end
end
end

j'espère que quelqu'un pourra m'aider...
(le but final si ça intéresse quelqu'un est de remplacer une zone mobile d'une vidéo par une image et ça uniquement avec matlab)
0
OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 8
6 déc. 2009 à 21:01
Pour la suite si cela interesse quelqu'un, suite sur ce topic :
https://forums.commentcamarche.net/forum/affich-15499243-algo-point-dans-un-rectangle
0