Bonsoir,
Voici mon problème : j'affiche une image en noir et blanc sur lequel j'aimerai afficher un champ de vitesse en couleur. Mon code initial est :
Mais mon champ de déplacement est afficher en gris, alors que j'aimerai avoir : colormap('jet') pour le champ de déplacement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 im=imread(strcat(num2str(lat1),'_',num2str(lat2),'.TIF')); displ=load (strcat(num2str(lat1),'_',num2str(lat2),'.out'));%je charge mon fichier contenant mon champ de vitesse %stockage des données dans des variables x=displ(:,1); y=displ(:,2); dep=displ(:,3); dx=displ(:,6); dy=displ(:,7); figure imagesc(im,'XData',[664170 734790], 'YData', [3889890 3981270]); axis on set(gca,'xtick',664170:10000:734790); set(gca,'ytick',3889890:10000:3981270); axis([664170 734790 3889890 3981270]) hold on %Calcul de la norme du deplacement N=sqrt((dx.^2)+(dy.^2)); N=N.*60*(369/365); X=[664170:15:734790]'; Y=[3889890:15:3981270]'; x_N=X(x); y_N=Y(y); b=scatter(x_N,y_N,60,N,'filled')
Du coup j'ai modifier mon code en ajoutant un freezecolors :
Mais au niveau du scatter matlab plante et n'arrive pas à m"afficher le scatter sur l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 im=imread(strcat(num2str(lat1),'_',num2str(lat2),'.TIF')); displ=load (strcat(num2str(lat1),'_',num2str(lat2),'.out')); %stockage des données dans des variables x=displ(:,1); y=displ(:,2); dep=displ(:,3); figure %image(im,'XData',[664170 734790], 'YData', [3889890 3981270]); imagesc(im,'XData',[664170 734790], 'YData', [3889890 3981270]); colormap('gray') freezeColors axis on set(gca,'xtick',664170:10000:734790); set(gca,'ytick',3889890:10000:3981270); axis([664170 734790 3889890 3981270]) hold on %Calcul de la norme du déplacement N=sqrt((dx.^2)+(dy.^2)); N=N.*60*(369/365); %N=N.*60*(401/365); X=[664170:15:734790]'; Y=[3889890:15:3981270]'; x_N=X(x); y_N=Y(y); b=scatter(x_N,y_N,60,N,'filled')
Au tout départ, cela marchait si j'utilisé :
Mais cela prend beaucoup trop de mémoire à l'ordinateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 im=ind2rgb(im,gray(256))
Auriez vous des conseils à me donner pour pouvoir afficher mon champ de déplacement en couleur sur mon image en noir et blanc (peut etre utiliser autre chose que imagesc, conseils pour utilisation de freezecolors...)?
Merci d'avance
Romain
Partager