MATLAB: Traitement d'images TIF

Lord Belzebuth -  
FATIHABENNOUI Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde...

J'ai deux images 8-bits Z1 & Z2, en fomat TIFF de (4000pixels)x(4000pixels)...

J'aimerais fait un traitement de style NDVI. C'est-à-dire que j'aimerais créer une nouvelles image TIF ou chacune des valeurs de chacun de ses pixels est égale à:

pixZ3=(pixZ1-pixZ2)/(pixZ1+pixZ2) avec pixZ1 & pixZ2 qui sont les valeurs (entre 0 et 255) des pixels correspondants sur les images de base...

Pour le moment, je fais ça dans Matlab à l'aide d'une succession de commandes:

P=double(imread('photo1.tif'))
G=double(imread('photo2'.tif))
N1=(P-G)
N2=(P+G)
NDVI=(N1./N2)
Z=SINGLE(ROUND(128.+(128*NDVI))

Puis j'aimerais reconstituer une image TIF à partir de cette matrice Z... (D'ailleurs comment utiliser la commade IMAGE dans Matlab???)

Est-ce que la démarche est la bonne???
Y'a-t-il moyen d'écrire ceci sous forme un peu plus esthétique (Comment faire pour obtenir un fichier en language m qui me fait tout ça?)?
Comment faire pour ne pas saturer la mémoire à disposition pour les variables?
Est-ce qu'il est possible de faire ça avec Octave???

Meri beaucoup!!!
A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
Je pense que la démarche est la bonne. Ta façon de l'écrire est plutôt propre (pas de boucles).
Pour sauvegarder au format TIF, je ne sais pas trop, mais il doit y avoir une commande imsave, ou imwrite().
Elle doit être cité dans 'help imread'
sous octave, tu peut aussi le faire a priori (j'ai pas tester, mais les fonctions sont dispo dans la version 2.1.42 sous win) mais il faut faire : imread("tiff:file.tif"); voir l'aide pous plus de détails
0
rachidien Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   6
 
puis-je avoir qulques codes Matlab pour la compression d'images par JPEG2000? merci
0
ninainf
 
bonjour tout le monde
svp je veux faire un petit programme en matleb qui parcour une image et affiche le nombre de pixels blancs
merci avace..............
0
sarsk
 
M=imread('c:\etc.... \monimage.jpg');
M1=M(:,:,1);
M2=M(:,:,2);
M3=M(:,:,3);
NbrePixelsBlancs=length(find((M1==1)&(M1==2)&(M1==3));

(ou peut etre 255 à la place de 1, regarde comment son codées les couleurs dans M)
0
FATIHABENNOUI Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour
traitement d'image solaire sous matlab pour mésure le diamètre solaire
0