Debutant matlab
Résolu
Lolo
-
Sacabouffe Messages postés 10427 Statut Membre -
Sacabouffe Messages postés 10427 Statut Membre -
Bonjour a tous,
Je debute en Matlab.
Dans une boucle for, j'obtiens une succession de valeur (correspondant aux valeurs d'intensité d'une image).
J'aimerais conserver ces valeurs dans un vecteur mais je n'y arrive pas et je conserve à chaque fois la derniere valeur de la boucle.
Quelqu'un pourrait peut etre m'aider?
Merci
Je debute en Matlab.
Dans une boucle for, j'obtiens une succession de valeur (correspondant aux valeurs d'intensité d'une image).
J'aimerais conserver ces valeurs dans un vecteur mais je n'y arrive pas et je conserve à chaque fois la derniere valeur de la boucle.
Quelqu'un pourrait peut etre m'aider?
Merci
A voir également:
- Debutant matlab
- Logiciel montage vidéo débutant - Guide
- Logiciel de programmation pour débutant - Guide
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
5 réponses
Je pense avoir encore besoin d'aide en fait.
J'aimerais tracer la representation 3D d'une image que j'ai mais je ne sais pas si cela est possible...
En gros pour une photo de 1000 sur 1000 pixels, j'aimerais avoir x numero du pixel de colonne, y numero du pixel de ligne et en z l'intensité de chaque pixel.
Par exemple pour le pixel (500,499) j'ai une intensité de 16.
Comment pourais je m'y prendre?
J'aimerais tracer la representation 3D d'une image que j'ai mais je ne sais pas si cela est possible...
En gros pour une photo de 1000 sur 1000 pixels, j'aimerais avoir x numero du pixel de colonne, y numero du pixel de ligne et en z l'intensité de chaque pixel.
Par exemple pour le pixel (500,499) j'ai une intensité de 16.
Comment pourais je m'y prendre?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut
En fait, ça dépend de ce que t'entends par "intensité".
En gros, si t'as une image couleur de 400x200, de profondeur de couleur 24 bits (sample de 3 octets par pixel), qu'on va appeler image.jpg, tu peux faire
Plus précisément :
A(:,:,1) te donne l'intensité du rouge pour chaque pixel
A(:,:,2) te donne l'intensité du vert pour chaque pixel
A(:,:,3) te donne l'intensité du bleu pour chaque pixel
Donc pour tracer l'intensité de chaque couleur, ça te ferait un truc du genre
Par contre, en ce qui concerne les profondeurs de couleurs utilisées par défaut par chaque format, je dois dire que j'en sais rien. Du coup, si t'as une image de taille 400x200 et de profondeur de couleur 8 bits, en faisant
Bonne nuit ;-)
En fait, ça dépend de ce que t'entends par "intensité".
En gros, si t'as une image couleur de 400x200, de profondeur de couleur 24 bits (sample de 3 octets par pixel), qu'on va appeler image.jpg, tu peux faire
A = imread('image.jpg'); T'obtiens un tableau 200x400x3, la dernière dimension du tableau correspondant aux valeurs du Rouge-Vert-Bleu (j'ai pas pris ton exemple de 1000x1000 pour la taille pour que tu vois mieux comment ça se présente, c'est plus clair avec une longueur et une largeur différentes).
Plus précisément :
A(:,:,1) te donne l'intensité du rouge pour chaque pixel
A(:,:,2) te donne l'intensité du vert pour chaque pixel
A(:,:,3) te donne l'intensité du bleu pour chaque pixel
Donc pour tracer l'intensité de chaque couleur, ça te ferait un truc du genre
A = imread('image.jpg');
[pixX pixY]=meshgrid((0:size(A,2)-1),(0:-1:-size(A,1)+1));
%% Tracé de l'intensité du rouge
figure;
surf(pixX,pixY,double(A(:,:,1))); shading interp; colorbar;
title('Intensité du rouge');
%% Tracé de l'intensité du vert
figure;
surf(pixX,pixY,double(A(:,:,2))); shading interp; colorbar;
title('Intensité du vert');
%% Tracé de l'intensité du bleu
figure;
surf(pixX,pixY,double(A(:,:,3))); shading interp; colorbar;
title('Intensité du bleu'); Note que le repérage se fait à partir du coin haut-gauche de l'image, donc faut faire un peu attention quand on trace.
Par contre, en ce qui concerne les profondeurs de couleurs utilisées par défaut par chaque format, je dois dire que j'en sais rien. Du coup, si t'as une image de taille 400x200 et de profondeur de couleur 8 bits, en faisant
A = imread('image.jpg'); T'obtiens une matrice 200x400 et non plus un tableau 200x400x3, donc faudra que t'adaptes tout ça en fonction de ton image.
Bonne nuit ;-)