Compte Rendu Des TP
Compte Rendu Des TP
Compte Rendu Des TP
֍ Présent par :
- Magramane Khadidja
-Slatni Ghalia
Compte rendu des TP :
R(0 o ) (x )
R(179o ) (x )
60
60
50
50
40
40
30 30
20 20
10 10
0 0
-100 -80 -60 -40 -20 0 20 40 60 80 100 -100 -80 -60 -40 -20 0 20 40 60 80 100
4) Calculez des 4 jeux de données r1, r2, r3, r4 correspondant respectivement à 18, 36, 90 et
180 projections (choix du pas de θ ) :
theta = 0:180;
Page 3
Compte rendu des TP :
[R,xp]=radon(I,theta);
figure(5), plot(xp,R)
R = radon(I)
R = radon(I,theta)
pas1=180/18;
pas2=180/36;
pas3=180/90;
pas4=180/180;
theta1 = 0:pas1:179;
theta2 = 0:pas2:179;
theta3 = 0:pas3:179;
theta4 = 0:pas4:179;
[r1,xp1] = radon( I,theta1);
[r2,xp2] = radon(I,theta2);
[r3,xp3] = radon(I,theta3);
[r4,xp4] = radon(I,theta4);
80
70
60
50
40
30
20
10
0
-100 -80 -60 -40 -20 0 20 40 60 80 100
5) Reconstruire l'image sans filtrage et avec filtrage à partir des jeux de données r1, r2, r3,
r4 et Visualiser les images reconstruites sans et avec filtrage:
% l'image avec filtrage;
Im_r1 = iradon(r1,theta1 ); % Image pour le jeu de donnees r1
Im1=Im_r1(2:129,2:129); % Pour garder la taille 128x128
figure(1),
subplot(2,2,1)
imshow(Im1)
title(' image avec filtrage')
Im_r2 = iradon(r2,theta2); % Image pour le jeu de donnees r2
Im2=Im_r2(2:129,2:129); % Pour garder la taille 128x128
subplot(2,2,2)
imshow(Im2)
title(' image avec filtrage')
Im_r3 = iradon(r3,theta3); % Image pour le jeu de donnees r3
Im3=Im_r3(2:129,2:129); % Pour garder la taille 128x128
subplot(2,2,3)
imshow(Im3)
title(' image avec filtrage')
Im_r4 = iradon(r4,theta4); % Image pour le jeu de donnees r4
Im4=Im_r4(2:129,2:129); % Pour garder la taille 128x128
subplot(2,2,4)
imshow(Im4)
title(' image avec filtrage')
% l'image sans filtrage
I11 = iradon(r1,theta1,'linear','none');
Page 4
Compte rendu des TP :
I22 = iradon(r2,theta2,'linear','none');
I33 = iradon(r3,theta3,'linear','none');
I44 = iradon(r4,theta4,'linear','none');
figure(2)
subplot(2,2,1)
imshow(I11,[])
title(' image sans filtrage')
subplot(2,2,2)
imshow(I22,[])
title(' image sans filtrage')
subplot(2,2,3)
imshow(I33,[])
title(' image sans filtrage')
subplot(2,2,4)
imshow(I44,[])
title(' image sans filtrage')
Page 5
Compte rendu des TP :
Conclusion
La transformée de Radon nous donne la possibilité de traiter seulement les sommes des
pixels (points Radon) pour chaque angle transformée de Radon et d’exposer sa puissance
envers les bruits comme le bruit de quantification La transformée de Radon est compression
de 99.90% tout en gardant la qualité des images après décompression. Ces résultats
montrent clairement que notre méthode est qualifiée pour être un bon choix pour l’archivage
et la transmission des images
Page 6
Compte rendu des TP :
2-Calculer les projections pour différente valeur en variant la distance entre les raies des
projections 2, 1,0.25 avec la fonction fanbeam :
D = 250;
F = fanbeam(P,D)
[F,Fpos,Fangles] = fanbeam(P,D);
figure(2), imagesc(fan_rot_angles3, sensor_pos3, F)
colormap(hot); colorbar
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')
-40 60
-30
Fan Sensor Position (degrees)
50
-20
-10 40
0
30
10
20 20
30
10
40
0
0 50 100 150 200 250 300 350
Fan Rotation Angle (degrees)
d1 = 2;
F1 = fanbeam(P,D,'FanSensorSpacing',d1);
Page 7
Compte rendu des TP :
figure(3), imshow(F1,[],'XData',Fangles,'YData',Fpos,'InitialMagnification','fit')
colormap(hot); colorbar
title('d1=1')
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')
d2 = 1;
F2 = fanbeam(P,D,'FanSensorSpacing',d2);
title('d2=1')
figure(5), imshow(F2,[],'XData',Fangles,'YData',Fpos ;'InitialMagnification','fit')
colormap(hot); colorbar
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')
d3 = 0.25;
[F3, sensor_pos3, fan_rot_angles3] = fanbeam(P,D ,'FanSensorSpacing',d3);
title('d3=0.25')
figure(6), imshow(F3,[],'XData',Fangles,'YData',Fpos,...
'InitialMagnification','fit')
colormap(hot); colorbar
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')
Page 8
Compte rendu des TP :
output_size = max(size(P));
I1 = ifanbeam(F1,D, ...
'FanSensorSpacing',d1,'OutputSize',output_size);
figure(7), imshow(I1)
title('I1')
I2 = ifanbeam(F2,D, ...
'FanSensorSpacing',d2,'OutputSize',output_size);
figure(8), imshow(I2)
title('I2')
I3 = ifanbeam(F3,D, ...
'FanSensorSpacing',d3,'OutputSize',output_size);
figure(9), imshow(I3)
title('I3')
figure(10)
subplot(1,3,1), imshow(I1), title('I1')
subplot(1,3,2), imshow(I2), title('I2')
subplot(1,3,3), imshow(I3), title('I3')
Conclusion :
La qualité de la reconstruction s'améliore à mesure que le nombre de faisceaux dans la
projection augmente. La première image, F1 créée en utilisant un espacement de 2 degrés, la
deuxième image F3 créée en utilisant un espacement de 1 degré et la troisième image F3
créée en utilisant un espacement de 0,25 des faisceaux.
Dans chaque distance entre les raies, la distance entre le centre de rotation et le sommet
des projections est constante à 250 pixels. De plus, fan-beam fait pivoter la projection autour
du pixel central par incréments de 1 degré.
Page 9