毕业设计论文-基于matlab的医学图像处理内容摘要:

灰度级 Z„归一化为 s ,显然 r、 s 应当满足: 1010  sr , 因此直方图修正就是对下列公式的计算过程:    srrT T 1s  或 式中 T( r)为变换函数,它必须满足下列条件 [14]: 1. T( r)在 0≤r≤1区间内是单值函数,且单调增加; 2. T( r)在 0≤r≤1内满足 0≤T( r) ≤1。 在直方图均衡化时,有 常数Lsps 1)(,这里 L 为均衡化后灰度变化范围,归一化表示时 L=1,则 1)( sps,有 drrpdrs )(, 即 :   drrrT pdd rs )( 两边取积分得 :    r r drrrTS p0 )( 这就是所求的变换函数,表明变换函数 T( r)是原图像的累计分布函数,因此只要知道原图像的概率密度就能很容易地确定变换函数。 将上述结论推广到离散的情况。 设一幅图像总像素为 n, 共分 L 个灰度级,nk代表第 k 个灰度级 rk出现的频数(像素数),则第 k 灰度级出现的概率为 : 1L,2,1,010/)(  kr rnnp kkr 此时变换函数可以表示为      ki iiki rkk nT nrprs 00)( 其反变换函数为   101   ssTr kkk 因此,根据原图像的直方图统计值就可算出均衡 后各像素的灰度值。 167。 图像消噪 数字图像中往往存在各种类型的噪声。 产生噪声的途径可以有几各种,与生成图像的方法有关。 如: 一、如果图像是用照片扫描得到的,则胶卷上的灰尘是噪声源。 胶卷损坏、扫描操作中都可以引起噪声。 二、如果图像直接来源于数字设备,则获取数据的设备可以引起噪声。 三、图像数据的电子传输可以引起噪声。 工具箱中提供了多个不同的方法来删除和减少图像中的噪声。 不同方法对于不同类型的噪声具有更好的效果。 可用的方法包括 [15]: ( 1)线性滤波 ( 2)中值滤波 ( 3)自适应滤波 常用的 滤波器为中值滤波器。 中值滤波器对异常值的敏感性比均值的小,所以,中值滤波器可以在不减小图像对比度的情况下剔除这些异常值。 在 MATLAB工具箱中 medfilt2 函数实现了中值滤波。 167。 图像边缘检测 图像边缘对图像识别和计算机分析十分有用,边缘能勾画出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等),是图像识别中重要的图像特征之一。 从本质上说,图像边缘是图像局部特性不边连续性(灰度突变、颜色突变、纹理结构突变等)的反映,它标志着一个区域的终结和另一个区域的开 始。 为了计算方便起见,通常选择一阶和二阶导数来检测边界,利用求导方法可以很方便地检测到灰度值的不连续效果。 边缘的检测可以借助空域微分算子利用总卷积来实现。 常用的微分算子有梯度算子和拉普拉斯算子等,这些算子不但可以检测图像的二维边缘,还可检测图像序列的三维边缘。 一、 MATLAB 提供的用于灰度图像边缘的函数 [16] 在 MATLAB 中 edge 函数用于灰度图像边缘的提取,他支持 6 种不同的边缘提取方法,即 Sobel 法 、 Prewitt 法 、 Roberts 法 、 LaplacianGaussian 法、过零方法和 Canny 方法,其语法结构如下: BW=edge(I, ‟sobel‟)——指定 Sobel 边缘提取方法; BW=edge(I,‟sobel‟, thresh)——指定具有总阈值 thresh 的 Sobel 方法,即强度小于阈值的边缘被省略掉了,缺省时自动选取阈值。 BW=edge(I,‟sobel‟, thresh, dirction)——指定具有方向性的 Sobel 方法,为 ‟horizontal‟( 水平方向 ) 或 ‟vertical‟( 垂直方向 ) 或 ‟both‟(两个方向),缺省时为 ‟both‟。 BW=edge(I, ‟sobel‟…) ——返回 Sobel 方法的阈值。 下面的调用与 Sobel 方法类似: BW=edge(I, ‟prewitt‟, thresh, direction) BW=edge(I, ‟roberts‟, thresh) BW=edge(I, ‟log‟, thresh) BW=edge(I, ‟canny‟, thresh, direction) 其中 I 为灰度图像, BW 为黑白二值边缘图像。 167。 图像平滑处理 图像平滑主要目的是减少图像噪声。 图像噪声来自于多方面,有来自于系统外部的干扰,也有来自于 系统内部的干扰。 实际获得的图像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。 减少噪声的方法可以在空间域或在频率域处理,基本方法就是求像素的平均值吉中值;在频域中则运用低通滤波技术。 图像经过傅立叶变换以后,噪声频谱一般位于空间频率较高的区域,而图像本身的频率分量则处于空间频率较低的区域内,因此可以通过低通滤波的方法,使高频万分受到掏,而使低频成分顺利通过,从而实现图像的平滑。 低通滤波可以在空间域和频域中进行。 在此主要介绍巴特沃斯低通滤波器。 巴特沃斯低通滤波器又称为最大平坦滤 波器 [17]。 它的通带与阻带之间没有明显的不连续性,因此它的空域响应没有 “ 振铃 ” 现象发生,模糊程度减少。 一个n 阶巴特沃斯低通滤波器的传递函数为:    nD vuDvuH20,11, D0是截止频率; n 为阶数,取正整数,控制曲线的形状。 由于巴特沃斯滤波器转移曲线较平滑,没有振铃效应,故图像的模糊将减少。 一般说,常采用下降到 H( u,v)最大值的 21 那一点为低通滤波器的截止频率点。 MATLAB 提供的图像平滑函数 conv2(二维卷积算法)。 具体调用格式为: I=imread(„‟)。 I1=imnoise(I,‟saltamp。 pepper‟,)。 I2=double(I1)/255。 H1=[1/9 1/9 1/9。 1/9 1/9 1/9。 1/9 1/9 1/9]。 J1=conv2(I2,h1,‟same‟)。 imshow(J1) 167。 . 图像锐化处理 图像在传输和变换过程中会受到各种干扰而退化,比较典型的就是图像模糊。 图像锐化的目的就是使边缘和轮廓线模糊的图像变得清晰,并使其细节清晰。 锐化技术可以在空间域是进行,常用的 方法是对图像进行微分处理,也可以在频域中运用高通滤波技术处理。 但要注意的是,能够进行锐化处理的图像必须要求有较高的信噪比,否则,图像锐化后,信噪比更低。 因为锐化将使噪声受到比信号还强的增强,故必须小心处理。 一般是先去除或减轻干扰噪声后,才能进行锐化处理。 梯度算子和拉普拉斯算子就是满足要求的线性微分算子,它们是常用和图像锐化运算方法。 这里主要介绍梯度算子 [18] 设图像为 f(x,y), 它在点( x,y)处的梯度是一个矢量 G[f(x,y)], 定义为   yfxfyxfG , 当梯度计算完之后 ,可以根据需要生成不同的梯度增强图像。 第一种是使各点的灰度 g(x,y)等于该点的梯度幅度,即: g(x,y)= Gm[f(x,y)];此方法的缺点是增强的图像公显示灰度变化比较陡的边缘轮廓,而灰度变化平缓的区域则呈黑色。 第二种增强的图像是使 :   其他),( )],([),([),( yxf TyxfGmyxfGmyxg 式中 T 是一个非负的阈值,适当选取 T,既可使明显的边缘轮廓得到突出,又不会破坏原来灰度变化比较平缓的背景。 第三种增强图像是使 :   其他),( )],([),( yxf TyxfGmLgyxg 式中 Lg 是根据需要指定的一个灰度级,它将明 显边缘用一固定的灰度级 Lg来实现。 第四种增强图像是使 :   其他Lg TyxfGmyxfGmyxg )],([),([),( 此方法将背景用一个固定灰度级 Lg 来实现,便于研究边缘灰度的变化。 第五种增强图像是使 :   其他Lb TyxfGmLgyxg )],([),( 此方法是将明显边缘及背景分别用灰度级 Lg 和 Lb 表示,产生二值图像,便于研究边缘所在的位置。 MATLAB 关键程序如下 [19]: I=double(I)。 [IX,IY]=gradient(I)。 GM=sqrt(IX.*IX+IY.*IY)。 OUT=I。 J=find(GM=10)。 OUT(J)=GM(J)。 第 三 章 系统调试 167。 软件设计说明 MATLAB 是 MathWorks 公司推出的一套高性能的数值计算和可视化软件。 它以矩阵和向量为基本数据单位,其矩阵计算能力十分突出,用该语言进行复杂算法设计的效率很高。 同时, MATLAB 含有各种可选的工具箱,如神经网络、小波分析、模糊控制、信号处理、鲁棒控制等功能强大的计算辅助工具。 MATLAB 现已成为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动 态系统仿真等高级课程的基本教学工具;在研究单位、工业部门,MATLAB 也被广泛用于研究和解决各种工程问题。 但 MATLAB 也有局限性,一般它不能脱离 MATLAB 集成环境工作,而且生成复杂的人机交互式图形界面的能力不强。 167。 软件使用说明 一、本文采用 MATLAB 的编程 , 用户系统中必须先安装 MATLAB 应用程序和 image 图像处理工具箱。 二 、由于本系统是针对医学图像进行处理,医学图像大部分为灰度图像。 考虑到软件运行效率和稳定性,本系统只能处理灰度图像。 若不是灰度图像,需要先将其转换为灰度图像再进行处 理。 三 、本系统在处理图像直方图和直方图均衡化时,直接将处理结果显示到MATLAB 的 figure 窗口中,这样可以利用 figure 图形窗口本身具有的一些图形分析、标记功能来分析图像特点,以便对图像进行更有效的处理。 四 、在系统运行过程中,系统会自动调用 MATLAB 应用程序,并弹出一个MATLAB 命令窗口,此命令窗口为后台服务窗口,可将其最小化显示。 五 、具体步骤如下: ( 1)使用菜单 “ 打开 ” 或工具栏 “ 打开 ” 按钮一幅图像; ( 2)根据图像特点选择 “ 工具 ” 菜单中处理功能单击菜单项; ( 3)若需要保留处理后的结果, 点击 “ 保存 ” 或 “ 另存为 ” 菜单保存图像。 167。 软件测试分析 167。 图像旋转测试 在图像处理中,有时需要将图像旋转以获得更好的观测角度,所以我们有必要在系统中添加图像旋转功能。 程序代码如下: I=imread(xzt)。 J=imrotate(I,180,39。 bicubic39。 )。 imshow(J,[]) 测试结果如下图: 图 31 图像旋转 180 度前后对比 167。 图像剪切测试 当用户对图像进行处理时,在大多数的情况下,只对图像中的某个区域感兴趣。 针对这种情况,本系统添加了剪切功能,可以对感兴趣区域进行剪切处理,并节省图像数据大小。 程序代码如下: I=imread(STR); imshow(I)。 J=imcrop。 figure,imshow(J) 测试结果如下: 图 32 图像剪切前后对比 167。 图像负片效果测试 图像负片效果可以帮助我们在大片黑色区域中容易观察白色或灰色细节。 程序代码如下: g=implement(I)。 imshow(g) 测试结果如下: 图 33 图像负片 效果对比 167。 灰度变换测试 MATLAB 图像处理工具箱中提供的 imadjust 函数,可以实现图像的灰度变换,使对比度增强。 其语法格式为: J=imadjust(I,[0,],[,1]) 其功能是:返回图像 I 经过直方图调整后的图像 J。 将图像的低灰度级范围 映射到高灰度级去,从而可以更清晰观察低灰度区域细节。 图 34 图像灰度变换前后对比 167。 直方图均衡化测试 MATLAB 图像处理工具箱提供了用于直方图均衡化的函数 Histeq。 Histeq语法格式为: J=histeq(I,n) 其功能是:指定直方图均衡化后的灰度级数 n, 默认值为 64。 图 35 图像直方图均衡化前后对比 167。 锐化效果测试 使用梯度法进行图像锐化方法的 MATLAB 代码如下: (xzt=clipboard(39。 paste39。 )。 ) ([I,map]=imread(xzt)。 ) „读取图像 (I=double(I)。 ”) „将。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。