MATLAB traitement d image : couleur -->gris

Fermé
ralphacino Messages postés 1 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 10 juin 2010 - 10 juin 2010 à 11:35
Bonjour a tous,
J'ai un gros probleme concernant le traitement d image! avec matlab, je souhaiterai afficher a partir d une image couleur, une image en echelle de gris mais avec une couleur RGB majoritaire (elle se detacherai dans l image en gris).

J ai joue sur les coeffs et afficher plusieurs courbes mais ca ne fonctionne pas et je vais pas m amuser a en faire des miliers :-)

=> programme :

Image=imread('DSC_0259.jpg');
ImageR=Image( :, :,1);
ImageV=Image( :, :,2);
ImageB=Image( :, :,3);
matrice=zeros(1700);
i=0; j=0;
for i=1 : 1700
for j=1 : 1700
ImageRp(i,j)=(-1)*ImageR(i,j)+(2)*ImageV(i,j)+(-1)*ImageB(i,j);
ImageRb(i,j)=(-0.7)*ImageR(i,j)+(0.59)*ImageV(i,j)+(0.14)*ImageB(i,j);
ImageRt(i,j)=(-0.884)*ImageR(i,j)+(1.262)*ImageV(i,j)+(-0.311)*ImageB(i,j);
if ImageRp(i,j)<0
then ImageRp(i,j)=0;end
if ImageRp(i,j)>255
then ImageRp(i,j)=255;end
if ImageRb(i,j)<0
then ImageRb(i,j)=0;end
if ImageRb(i,j)>255
then ImageRb(i,j)=255;end
if ImageRt(i,j)<0
then ImageRt(i,j)=0;end
if ImageRt(i,j)>255
then ImageRt(i,j)=255;end
end
end
figure;
subplot(1,4,1);imshow(Image);title('photo taken by the robot');
subplot(1,4,2);imshow(ImageRp);title('gray image with R=-1, G=2, B=-1');
subplot(1,4,3);imshow(ImageRb);title('gray image with R=-0.7, G=0.59, B=0.14');
subplot(1,4,4);imshow(ImageRt);title('gray image with R=0.884, G=1.262 B=-0.311');

Merci d avance pour votre aide, toutes les infos me seront d une grande utilite. Pour info, c est pour un robot agricole qui detecterait par la couleur puis par la forme, le type de plante dans un champ...