医学图像处理-三维重建
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设置图像的显示效果
• view(-144,20);%利用view()函数定义观察
者视角
• lighting gouraud;%利用lighting定义显示图
像的光线阴影
• axis equal;%利用axis定义显示图像的轴
• 运用MATLAB程序在进行CT图像边界轮廓提
取的基础上得到三维表面重建图像。重建 速度快、效果好;但是面绘制的缺点是信 息的丢失比较大,运算量与景物和物体形 状有关。
'none');%使用patch()函数对碎片进行构造, 并对图像的颜色,光线进行定义,其中fv是 第(3)步中得到的。
设置图像的颜色、阴影及显示效果
• colormap(gray); • %利用colormap()函数为图像定义颜色集 • view(3); • %利用view()函数定义观察者视角 • lighting gouraud; • %利用lighting定义显示图像的光线阴影 • axis equal; • %利用axis定义显示图像的轴 • daspect([x y z]); • %使用daspect()定义x、y、z轴的显示比例
图像三维表面重建
• 计算机三维表面重建是指首先运用图像技
术从二维图像中分割出兴趣区的轮廓曲线, 然后经图形处理,得到其三维结构,从而 再现原物体的空间结构。因此,对于三维 表面重建而言,边界轮廓的提取尤为重要。
• 为了便于面部边界的提取,先对各CT图片进行颜
色处理,去掉非有效区,如头发、支架等部分, 并使其色素尽量减少。
读入现有的n幅图像
• image2=imread('02.bmp'); •﹕ •﹕ • imagen=imread('n.bmp'); • D=
cat(3,image1,image2,image3,……imagen);%使 用cat()函数创建三维矩阵D
重建数据预处理
• 采用上述方法构造的三维数据集D,数据量大,
• surf(consx,consy,consz);%利用surf()函数
进行三维表面绘制。
• 设置图像的颜色及阴影效果。
• colormap(gray);%利用colormap()函数为图
像定义颜色集
• shading flat;%利用shading定义显示图像的
颜色阴影
设置图像光照效果
• light('Position',[-80,-262,-
• MATLAB
MATLAB6.5
• MATLAB6.5的图像处理工具箱实现了断层
图像的三维表面重建及体重建,原理简单, 编程实现方便。
• 在对头部CT图片进行的三维表面重建及体
重建实验中,重建速度快,显示效果良好, 便于各类非计算机专业人士推广应用。
• 三维重建技术的实现方法包括两种:
• 一种是通过几何单元拼接拟合物体表面来
三维重建技术 (面显示与体显示)
三维医学图像技术的意义
利用MATLAB实现 CT断层图像的三维重建
研究工具与研究基础
•C • VTK • MITK • MATLAB
• 医学图像三维重建为人体结构提供了真实、
直观的反映,便于医学人员对病灶的观察 及手术的进行。但图像三维重建编程实现 困难,不易被非计算机专业人士所掌握。
200],'style','infinite');%利用light()函数为图 像设置光照效果
• light('Position',[-Fra Baidu bibliotek00,-0,-
4500],'style','infinite');light('Position',[5000 ,100,-300],'style','infinite');
平滑处理
计算数据集在显示平面累计投影
• fv=isosurface(x,y,z,D,isovalue);%使用
isosurface()函数计算数据集在显示平面累 计投影,isovalue根据实际情况自行定义
构造三维体重建碎片
• p=patch(fv,FaceColor','yellow','EdgeColor',
信息,需要对原始图像进行预处理,以突 出有效的图像信息,消除或减少噪声的干 扰。
• 图像格式的转换与读写 • 图像增强
图像格式的转换与读写
• 正确读取DICOM图像后,通过选择合适的
窗宽、窗位,将窗宽范围内的值通过线性 或非线性变换转换为小于256的值,将CT图 像转换为256色BMP图像。
图像增强
• consx=[consx;yo.*cos(xo)];%将x,y值从极坐标
系转换到直角坐标系
• consy=[consy;yo.*sin(xo)]; • consz=[consz;ones(1,length(xo))*iLayer*(-
4.0)];%为每一切片层赋予z坐标值,iLayer为层数
• 边界轮廓曲线表面绘制
• 灰度直方图均衡化。均匀量化的自然图像
的灰度直方图通常在低灰度区间上频率较 大,使得图像中较暗区域中的细节看不清 楚,采用直方图修整可使原图像灰度集中 的区域拉开或使灰度分布均匀,从而增大 反差,使图像的细节清晰。
• 灰度变换法。照片或电子方法得到的图像,
常表现出低对比度即整个图像偏亮或偏暗, 为此需要对图像中的每一个像素的灰度级 进行标度变换,扩大图像灰度范围,以达 到改善图像质量的目的。
• 重建数据的采集 • 重建数据预处理 • 计算数据集在显示平面累计投影 • 构造三维体重建碎片 • 设置图像的颜色、阴影及显示效果
重建数据的采集
• 对现有的n幅头部CT图像数据进行三维数据集D的
构造,得到的数据集D为一个x×y×n的矩阵
• image1=imread('01.bmp');%使用imread()函数
• 图像增强就是根据某种应用的需要,人为
地突出输入图像中的某些信息,从而抑制 或消除另一些信息的处理过程。使输入图 像具有更好的图像质量,有利于分析及识 别。
• 直方图修改 • 图像平滑 • 图像边缘锐化 • 伪彩色增强
• histeq() • imadjust() • fspecial() • filter2() • conv2() • medfilt()
CT图像三维体重建
• 体绘制通过计算所有体素对光线的作用得
到二维投影图像,基于体绘制的三维体重 建方法计算量不依赖于景物的复杂程度和 物体形状的复杂程度,也不需要对切片的 边界轮廓进行提取,其计算过程不依赖于 视点,处理三维采样信号方便,便于显示 物体的内部结构。但是,三维体重建所需 数据量大,运算速度较慢。
重建数据的采集
• 运用傅立叶级数的系数,求出边界上若干个点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初始值为a0
• 在提取边界时,首先采用逐行扫描图片的办法,
通过比较相邻点的像素值,找到图片边界上的一 个点,作为切片边界的起点。然后从边界起点开 始,逐点判断与之相邻的八个点,如果某点为图 片的边界点则记录下,并开始下一步判断,直到 获得所有的边界点。
三维表面重建
• 重建数据的采集 • 边界轮廓曲线表面绘制 • 设置图像的颜色及阴影效果 • 设置图像光照效果 • 设置图像的显示效果
描述物体的三维结构,称为表面重建;
• 另一种是直接将体像素以一定的颜色和透
明度投影到显示平面的方法,称为体重建。
• 表面重建运算量小,表面显示清晰,但对边
缘检测的要求比较高;
• 而体重建直接基于体数据进行显示,避免了
重建过程中所造成的伪像痕迹,但运算量较 大。
重建方法
预处理
• 为了有利于从图像中准确地提取出有用的
• 平滑与锐化滤波。平滑技术用于平滑图像中的噪
声,基本采用在空间域上的求平均值或中值,或 在频域上采取低通滤波。在MATLAB中,各种滤波 方法都是在空间域中通过不同的卷积模板即滤波 算子实现,可用fspecial()函数创建预定义的滤波 算子,然后用filter2()或conv2()函数在实现卷积 运算的基础上进行滤波。中值滤波是一种基于排 序统计理论的抑制噪声的非线性信号处理技术, 其在除去图像中的孤立点、线的噪声的同时,很 好地保护了图像的边缘信息,适用于一些线性滤 波器无法胜任地场合。
在体重建中速度慢,并且可能在计算中超出内存。 因而,可以根据实际情况,对数据集D进行预处 理,减少数据量。
• [x y z D]=reducevolume(D,[a b c]);%使用
reducevolume()函数减少数据量,其中a,b,c为 x,
• y和z轴数据抽取的比例,根据数据情况自行定义。 • D=smooth3(D);%使用smooth()函数对数据进行