Bonjour !
Voila j'ai un petit probleme : je cree des images en C, ce sont des images avec un fond de 0 et un disque d'intensite fixe.
J'essaie ensuite de recreer la meme image avec Matlab. Mais impossible !
Voici ma fonction C :
Code C : 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 void Circ(float **data, int N, int M, int centerx, int centery, int radius,float Isig) { int n,m; float temp; for(n=0;n<=N-1;n++) { for(m=0;m<=M-1;m++) { temp=sqrt(pow((double)((n-N/2)-centerx),2)+pow((double)((m-M/2)-centery),2)); if(temp<=radius) { data[n][m]=Isig; } else data[n][m]=0; } } }
Et la meme avec matlab :
Le seul point pour lequel ca marche c'est quand le centre du disque est a [0,0].
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 function s = circulaire(N,M,centerx,centery,radius,intensity) s = zeros(N,M); for n=1:N for m=1:M temp = sqrt(((n-N/2)-centerx-1)^2+((m-M/2)*1.0-centery-1)^2); if (temp<=radius) s(n,m) = intensity; else s(n,m) = 0; end end end s = reshape(s,N*M,1);
Merci de votre aide pour trouver pourquoi ca ne marche pas, la vraiment je seche
cecile
Partager