N=256;
image=zeros(N,N);
i0=128;j0=80;
r=30;
for i=0:N-1
for j=0:N-1
if ((i-i0)*(i-i0)+(j-j0)*(j-j0)<=r*r)
image(i,j)=1; %这是原始图像,在一个正方形黑框中有一个白色的圆。
end
end
end
theta=0:1:359;
imshow(image);
[R,xp]=radon(image,theta);%这是对图像进行radon变换
R(120,:)=max(max(R))+10;%这是在radon变换后的图像中加入了一条直线,可使重建图像生成圆环
figure,imshow(R);
I=iradon(R,1);
figure,imshow(I);
title('带伪影的重建图像');%这是带圆环的重建图像
R(120,:)=0.5*R(119,:)+0.5*R(121,:); %这是用插值的方法消除环状伪影
I=iradon(R,1);
figure,imshow(I);
title('去除伪影后的重建图像');
评论0