CT图像投影滤波重建

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学

医学图像处理实验报告CT图像投影域加噪与滤波去噪

中南大学生物医学工程系

生物医学工程1101班

指导老师:喻罡

文勋喆、苏猛、龚书滔、王正果

2014年4月27日

1.实验目的

A.熟悉CT图像重建原理;

B.对比几种重建图像方法,掌握反投影重建法;

C.在投影域加噪声,熟悉去噪算法。

2.实验原理

根据著名的Radon变换,能到体膜在不同角度的

3.实验平台

Windows 7 操作系统

Matlab 2013b 软件

4.实验步骤

a.构造体膜

b.Radon变换,加上高斯噪声

c.利用算法进行去噪声

d.iRadon变换得到去噪后的图像

e.得到结果,提出结论

5.实验结果

A.体膜图像

I=phantom(256);

B.Radon变换

theta=0:179;

[R]=radon(I,theta)

C.图像加噪处理

MatLab加噪函数:

高斯噪声:J1=10*imnoise(1.5e-2*R,'gaussian',0,0.003);

椒盐噪声:J2=10*imnoise(1.5e-2*R,'salt & pepper',0.03);

随机噪声: Jr=5*randn(size(R));

D.投影域去噪滤波

MatLab滤波函数:

高斯滤波器: Lg=fspecial('gaussian');

L1=imfilter(J,Lg)

自适应维纳滤波器: L2=wiener2(J,[3 3]);

中值滤波器: L3=medfilt2(J);

均值平滑滤波:LL=fspecial('average');

L4imfilter(J,LL);

E.图像反投影重建

Reimage=iradon(L,[0:179],'linear','Shepp-Logan');

6.结论分析

A.在投影域里的加入各种噪声,如高斯噪声,椒盐噪声等,它们都比较大程度的影响了重建图像的质量,因此需要除噪声。

B.除噪声既能在重建图上进行,也能在投影图上进行。此次试验在投影图上进行,及时去除噪声,以免噪声信号进入重建环节而使图像质量变差。这样使图像的除噪性能更好。

C.中值滤波和均值滤波能有效的去除噪声,但当随着噪声方差加大,噪声变大,效果会变得不理想。

D.加噪声函数imnoise会影响图像重建效果,如实验结果中可以看出,去除用imnoise 函数写的噪声图像经过去噪再重建的效果不好,而用randn函数加上的随机高斯噪声经过滤波在反投影重建图像时,效果明显好于前者。

附录

程序源代码:

I=phantom(256);

theta=0:179;

[R]=radon(I,theta);

J1=10*imnoise(1.5e-2*R,'gaussian',0,0.003);

J2=10*imnoise(1.5e-2*R,'salt & pepper',0.03);

Jr=5*randn(size(R));

J3=R+Jr

figure,imshow(R,[])

figure,imshow(J1,[])

figure,imshow(J2,[])

figure,imshow(J3,[])

Lg=fspecial('gaussian');

L1_1=imfilter(J1,Lg);

L1_2=imfilter(J2,Lg);

L1_3=imfilter(J3,Lg);

figure,imshow(L1_1,[]),xlabel('???1??2¨?÷3y???1??éù'); figure,imshow(L1_2,[]),xlabel('???1??2¨?÷3y?·????éù'); figure,imshow(L1_3,[]),xlabel('???1??2¨?÷3y???ú??éù');

L2_1=wiener2(J1,[3 3]);

L2_2=wiener2(J2,[3 3]);

L2_3=wiener2(J3,[3 3]);

figure,imshow(L2_1,[]),xlabel('???é??2¨?÷3y???1??éù'); figure,imshow(L2_2,[]),xlabel('???é??2¨?÷3y?·????éù'); figure,imshow(L2_3,[]),xlabel('???é??2¨?÷3y???ú??éù');

L3_1=medfilt2(J1);

L3_2=medfilt2(J2);

L3_3=medfilt2(J3);

figure,imshow(L3_1,[]),xlabel('?D?μ??2¨?÷3y???1??éù'); figure,imshow(L3_2,[]),xlabel('?D?μ??2¨?÷3y?·????éù'); figure,imshow(L3_3,[]),xlabel('?D?μ??2¨?÷3y???ú??éù');

LL=fspecial('average');

L4_1=imfilter(J1,LL);

L4_2=imfilter(J2,LL);

L4_3=imfilter(J3,LL);

figure,imshow(L4_1,[]),xlabel('?ù?μ??????2¨3y???1??éù'); figure,imshow(L4_2,[]),xlabel('?ù?μ??????2¨3y?·????éù');

figure,imshow(L4_3,[]),xlabel('?ù?μ??????2¨?÷3y???ú??éù');

Reimage_1=iradon(L1_3,[0:179],'linear','Shepp-Logan');

Reimage_2=iradon(L2_3,[0:179],'linear','Shepp-Logan');

Reimage_3=iradon(L3_3,[0:179],'linear','Shepp-Logan');

Reimage_4=iradon(L4_3,[0:179],'linear','Shepp-Logan');

figure,imshow(Reimage_1),xlabel('???13y???ú??éù·′í?ó°???¨'); figure,imshow(Reimage_2),xlabel('???é3y???ú??éù·′í?ó°???¨'); figure,imshow(Reimage_3),xlabel('?D?μ3y???ú??éù·′í?ó°???¨'); figure,imshow(Reimage_4),xlabel('?ù?μ????3y???ú??éù·′í?ó°???¨');

相关文档
最新文档