5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf

上传人:b****1 文档编号:3175792 上传时间:2022-11-19 格式:PDF 页数:6 大小:275.36KB
下载 相关 举报
5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf_第1页
第1页 / 共6页
5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf_第2页
第2页 / 共6页
5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf_第3页
第3页 / 共6页
5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf_第4页
第4页 / 共6页
5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf

《5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf》由会员分享,可在线阅读,更多相关《5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf(6页珍藏版)》请在冰豆网上搜索。

5断层重建好书利用MATLAB实现CT断层图像的三维重建.pdf

第13卷第2期CT理论与应用研究Vol.13No.22004年5月(2429)CTTheoryandApplicationsMay,2004*收稿日期:

2004-03-28。

文章编号:

1004-4140(2004)02-0024-06利用MATLAB实现CT断层图像的三维重建曾筝1,董芳华1,陈晓2,周宏2,周建中1(1华中科技大学水电与数字化工程学院,武汉430074;2总后军需装备研究所,北京100088)摘要:

医学图像三维重建为人体结构提供了真实、直观的反映,便于医学人员对病灶的观察及手术的进行。

但图像三维重建编程实现困难,不易被非计算机专业人士所掌握。

本文运用MATLAB6.5软件中的图像处理工具箱实现了CT断层图像的三维表面重建及体重建,原理简单,编程实现方便。

在对头部CT图片进行的三维表面重建及体重建实验中,重建速度快,显示效果良好,便于各类非计算机专业人士推广应用。

关键词:

CT图像;表面重建;体重建;MATLAB中图分类号:

TP391文献标识码:

AThreeDimensionsReconstructionofCTImagebyMATLABZENGZheng1,DONGFang-hua1,CHENXiao2,ZHOUHong2,ZHOUJian-zhong1(1.CollegeofHydroelectricity&DigitalEngineering,HUST,Wuhan430074,China;2.TheQuartermasterResearchInstituteoftheGeneralLogisticsDepartmentofCPLA,Beijing100088,China)Abstract:

ThreedimensionsreconstructionofCTimagegivesaintuitionisticimageofbody.Itisconvenienttoobservationandoperation.Butitisdifficulttothosepeoplenotmajorincomputer.Inordertosolvethisproblem,howtoreconstructofCTimageusingimageprocessingtoolboxofMATLAB6.5isdiscussed.MABLABgivesusaconvenientmethodtoreconstructandacquiresagoodresult.Itcanbemasteredbyanybody.Keywords:

CTimage;surfacereconstruction;volumereconstruction;MABLAB1引言随着计算机科学技术的发展及其与其他各学科间的相互交叉渗透,特别是计算机断层扫描(CT)、核磁共振扫描(MIT)等技术逐渐应用于临床医学,使得获取各种二维医学图像的能力得到了空前的提高1。

如何将这些二维数据转化为更容易被接受和处理的信息,正是医学数据三维可视化所要解决的问题。

三维重建技术的实现方法包括两种2:

一种是通过几何单元拼接拟合物体表面来描述物体的三维结构,称为表面重建;另一种是直接将体像素以一定的颜色和透明度投影到显示平面的方法,称为体重建。

比较而言,表面重建运算量小,表面显示清晰,但对边缘检测的要求比较高;而体重建直接基于体数据进行显示,避免了重建过程中所造成的伪像痕迹,但运算量较大3。

无论采用哪种重建方法,对于非计算机专业的人士,编程实现都是很困难的,2期曾筝等:

利用MATLAB实现CT断层图像的三维重建25因此,本文介绍了基于MATLAB进行三维表面重建及体重建的方法,实现起来灵活、方便,便于掌握。

三维重建步骤如图1所示。

为了有利于从CT图像中准确地提取出有用的信息,需要对原始图像进行预处理,以突出有效的图像信息,消除或减少噪声的干扰。

(1)CT图像格式的转换与读写。

原始的CT图像是采用DICOM3.0标准进行存储的,不能被MATLAB所识别,因此必须进行图像格式的转换。

在这里,使用VisualC+6.0自行开发转换程序,在正确读取DICOM图像后,通过选择合适的窗宽、窗位,将窗宽范围内的值通过线性或非线性变换转换为小于256的值,将CT图像转换为256色BMP图像4。

使用MATLAB中的图像读入函数imread(),可以读取BMP图像,同时可以使用图像写出函数imwrite()及图像显示函数image()、imshow()对图像进行写出和显示5。

(2)图像增强。

图像增强就是根据某种应用的需要,人为地突出输入图像中的某些信息,从而抑制或消除另一些信息的处理过程6。

使输入图像具有更好的图像质量,有利于分析及识别。

图像增强技术主要包括直方图修改、图像平滑、图像边缘锐化及伪彩色增强等。

分别采用以下函数实现:

灰度直方图均衡化。

均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚,采用直方图修整可使原图像灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰。

直方图均衡化在MATLAB中使用histeq()函数实现。

灰度变换法。

照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一个像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。

这一灰度调整过程可以用imadjust()函数实现。

平滑与锐化滤波。

平滑技术用于平滑图像中的噪声,基本采用在空间域上的求平均值或中值,或在频域上采取低通滤波。

在MATLAB中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或CT图像获取图像格式转换MATLAB读取图像图像边界提取图像边界拟合生成三维表面数据集三维表面重建及显示生成三维体数据集三维体重建及显示图1三维重建流程图26CT理论与应用研究13卷conv2()函数在实现卷积运算的基础上进行滤波。

中值滤波是一种基于排序统计理论的抑制噪声的非线性信号处理技术,其在除去图像中的孤立点、线的噪声的同时,很好地保护了图像的边缘信息,适用于一些线性滤波器无法胜任地场合。

在MATLAB中使用medfilt()函数实现中值滤波7。

适当运用上述方法对原始图像进行处理,将使原始图像变得较清晰,能够较真实地反映图像的结构特征,便于三维重建的处理及显示。

2CT图像三维表面重建计算机三维表面重建是指首先运用图像技术从二维图像中分割出兴趣区的轮廓曲线,然后经图形处理,得到其三维结构,从而再现原物体的空间结构。

因此,对于三维表面重建而言,边界轮廓的提取尤为重要8。

为了便于面部边界的提取,先对各CT图片进行颜色处理,去掉非有效区,如头发、支架等部分,并使其色素尽量减少,图2a为经过格式转换的头部断层图像。

在提取边界时,首先采用逐行扫描图片的办法,通过比较相邻点的像素值,找到图片边界上的一个点,作为切片边界的起点。

然后从边界起点开始,逐点判断与之相邻的八个点,如果某点为图片的边界点则记录下,并开始下一步判断,直到获得所有的边界点。

图2b通过上述方法得到的面部边界轮廓曲线。

通过这种方法得到的轮廓曲线是以大量的点坐标形式存储,在保证拟合精度的情况下,希望精简数据点,以减少存储空间和提高计算机处理速度。

因此将图2b中的面部边缘轮廓曲线以中心点为极点转换到极坐标系中。

然后,将图像画入以极角0,2为横坐标,极径为纵坐标的直角坐标系中,如图3a所示。

采用12阶傅立叶级数对该图像进行拟合,得到拟合后的图像如图3b所示。

图2面部边界提取(a)原始CT图像(b)面部边界轮廓xy05010015020025030035040075808590951001051101150501001502002503003504007580859095100105110115图3切片边界展开图形(b)拟合后的边界曲线(a)拟合前的边界曲线2期曾筝等:

利用MATLAB实现CT断层图像的三维重建27在这里,面部模型可以采用以下数学表示:

=+=121,0,)sincos

(2)(nniniiiMnbnaa式中nia,,nib,为各层边界曲线傅立叶级数拟合的系数:

dnfaini=cos)(1,,dnfbinisin)(1,=。

这样,某一层断层面部边界曲线仅使用25个数据就可以表示,所占用的存储空间很小。

下面,用这些表征面部边界轮廓曲线的数据进行三维表面重建。

(1)重建数据的采集。

运用上述傅立叶级数的系数,求出边界上若干个点x,y向坐标值,并为其加上适当的z坐标值。

xo=0:

pi/180:

2*pi;%x的值在0,2中选取yo=yo+a(i)*cos(i-1)*xo)+b(i)*sin(i-1)*xo);%通过傅立叶系数求y值,其中yo初始值为a0consx=consx;yo.*cos(xo);%将x,y值从极坐标系转换到直角坐标系consy=consy;yo.*sin(xo);consz=consz;ones(1,length(xo)*iLayer*(-4.0);%为每一切片层赋予z坐标值,iLayer为层数

(2)边界轮廓曲线表面绘制。

surf(consx,consy,consz);%利用surf()函数进行三维表面绘制。

(3)设置图像的颜色及阴影效果。

colormap(gray);%利用colormap()函数为图像定义颜色集shadingflat;%利用shading定义显示图像的颜色阴影(4)设置图像光照效果。

light(Position,-80,-262,-200,style,infinite);%利用light()函数为图像设置光照效果light(Position,-500,-0,-4500,style,infinite);light(Position,5000,100,-300,style,infinite);(5)设置图像的显示效果view(-144,20);%利用view()函数定义观察者视角lightinggouraud;%利用lighting定义显示图像的光线阴影axisequal;%利用axis定义显示图像的轴图4头部CT图像三维表面重建(a)view(-144,20)(b)view(3)(c)view(-70,30)28CT理论与应用研究13卷当函数view(AZ,EL)取不同的值时,可以得到图像不同的视角,其中AZ表示图像水平方向旋转的角度,EL表示图像垂直方向的高度,MATLAB6.5自行对view

(2)和view(3)的方位进行了定义。

图4a为view(-144,20)得到的图像;图4b为view(3)得到的图像;图4c为view(-70,30)得到的图像。

采用view()函数可以从不同视角对三维重构图像进行观察。

根据上述表面重建步骤,对头部切片进行表面重建,结果如图4所示。

由于采用上述的傅立叶级数拟合含有耳朵的CT图像层时,耳朵的轮廓信息无法很好地表达,所以对这些层进行处理时,首先去除耳朵。

从图4中可以看出,运用MATLAB程序在进行CT图像边界轮廓提取的基础上得到三维表面重建图像。

重建速度快、效果好;但是面绘制的缺点是信息的丢失比较大,运算量与景物和物体形状有关。

3CT图像三维体重建体绘制通过计算所

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1