Centrer image

Fermé
tomcb1 Messages postés 8 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 4 juin 2013 - 3 juin 2013 à 13:06
tomcb1 Messages postés 8 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 4 juin 2013 - 4 juin 2013 à 11:56
Bonjour,

Je dispose d'une image rgb avec une petite partie interessante en couleur sur un fond noir.

Je sohaite placer cette partie coloree au centre de l'image et zoomer dessus si possible.

Je ne veux pas utiliser les coordonnees de la partie couleur car elle pourrait etre situee n'importe ou sur l'image...
Je ne souaite pas non plus utiliser les outils de croping que j'ai vu sos matlab car je ne veux pas d'interraction avec utilisateur.

Je dois donc jouer avec les couleurs de l'image faire une boucle avec si les pixels differents de zeros...
Puis supprimer tous les pixels se trouvant 100 pixels au dessus, 100 en dessous, 100 a gauche et 100 a droite par exemple...
Puis zoomer.

Pensez vous que ceci est faisable?
Quelqu'un aurait une idee de commande pour supprimer les pixels? pour zoomer?

Merci
A voir également:

1 réponse

tomcb1 Messages postés 8 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 4 juin 2013 1
4 juin 2013 à 11:56
J'ai don fait le cod suivat. Tout semble fonctioner, sauf que l'image que je recupere est a presen en niveau de gris et ce malgre que'elle soit de dimension 3. Quelqu'un qurqit une idee??

%Pour trouver les pixels colores (rouges)

for i=1:955
for j=1:984

if I(i,j,1)>=205 & I(i,j,2)<=150 & I(i,j,3)<=150
I2(i,j,1)=I(i,j,1);
I2(i,j,2)=I(i,j,2);
I2(i,j,3)=I(i,j,3);
else
I2(i,j,1)=0;
I2(i,j,2)=0;
I2(i,j,3)=0;
end
end
end

%Pour trouver leurs coordonnees:

I2=uint8(I2);

[x,y]=find(I2);

X=I2(sub2ind(size(I2),x,y));

%Pour recentrer puis zoomer:

Is=I2(x-150:x+150,y-150:y+150);
Is=imresize(Is,[955,984]);
Is=cat(3,Is,Is,Is);
0