图像分割实验报告讲解_第1页
图像分割实验报告讲解_第2页
图像分割实验报告讲解_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、评分评分实验报告课程名称医学图像处实验名称图像分割专业班姓学号20152016 学年度第2学期医学图像处理一、实验目的掌握常用的边缘提取算法,从图像中提取感兴趣的区域,实现图像分割。在图像中,寻找灰 度相同或相似的区域,区分图像中的背景区域和目标区域,利用Matlab 实现图像的边缘检测, 进行图像分割。二、实验环境1、硬件配置:Intel(R) Core(TM).7GHz安装内存RA:4.00GB系统类型64位操作系统2、软件环境:MATLAB R2013b软件三、实验内容(包括本实验要完成的实验问题及需要的相关知识简单概述)图像边缘是图像中特性(如像素灰度、纹理等)边界,标示出目标物体或基

2、元的实际含量,是图像识别信息最集中的地方。息,使图像轮廓更加清晰。梯度算子法对于图像f(x,y),它在点 f(x,y)处的梯度是一个矢量,定义为 ff TG f x, yxy梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅值为 2 2f 梯度的数值就是f(x,y)在其最大变化率方向上的单位距离所增加的量。对于图像而言,微分运算可以用差分运算来近似。 f (x, y) f (x y) f (x, y) f (x, y 简化成模板可以表示成如下形式:10 Robert 梯度算子0 0110当梯度计算完后,可采用以下几种形式突出图像的轮廓。梯度直接输出使各点的灰度g(x,y)等于该点的梯度,

3、即g(x, y) Gf 这种方法简单、直接。但增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变换比较平缓的区域则呈暗色。加阈值的梯度输出第2页共13页医学图像处理加阈值的梯度输出表达式为Gf (x, y)g(x, y) f (x, y)Gf (x, y)T其他 是一个非负的阈值,适当选取T灰度变化比较平缓的背景。给边缘指定一个特定的灰度级L g(x, y) f (x, y)Gf (x, y)T其他式中 LG 的非边缘区域的灰度级仍保持不变。给背景指定一个特定的灰度级Gf (x, y)g(x, y) LGGf (x, y)T其他该方法将背景用一个固定灰度级LG 表现,便于研究边缘灰度的变化。二

4、值图像输出在某些场合(如字符识别等度级差别,只关心每个像素是边缘像素还是非边缘像素,这时可采用二值化图像输出方式,其表达式为L g(x, y) GLBGf (x, y)T其他此法将背景和边缘用二值图像表示,便于研究边缘所在位置。Sobel 算子法Sobel 相对于先对图像进行加权平均再做差分。ab对于图像的33 窗口dc f X (c 2 f i) (a 2d g)gY (a 2b c) (g 2h i)i 1则定义Sobel 算子为 g(x, y) X 2 Y2 2简化成模板可以表示成如下形式:101 121 Sobel 模板202 000 101拉普拉斯运算法12第3页共13页医学图像处理

5、拉普拉斯算子定义图像f(x,y)的梯度为 2锐化后的图像g 为 g f k 2 f 2 f 2 f 2 2式中 k 为扩散效应系数。对系数 k 的选择要合理,太大会使图像中的轮廓边缘产生过冲; 太小则锐化不明显。 010 1011laplacian 14, 040 ,18 010 1011另外还有一些模板也常用于图像增强,如10 111 Prewitt 模板10 000 1011四、实验结果与分析(包括实验原理、数据的准备、运行过程分析、源程序(代码、图形图象界面等注:本项可以增加页数%例 1 手动阈值分割I,map=imread(cameraman.tif);读入图imshow(I);fig

6、ure;显示图J=imhist(I);imhist(I);M,N=size(I);for i=1:1:M将i以步长1从1增加到for j=1:1:N将j以步长1从1增加到if I(i,j)80如果图像阈值大于80 g(i,j)=0;则大于80的就变成黑else g(i,j)=1;80endendendfigure;imshow(g);g10009008007006005004003002001000050100150200250图 1原图图2 直方图图3 阈值分割后的二值图第4页共13页医学图像处理分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底, 则取第一个作

7、为阈值。本题的阈值取80。%例 2 迭代阈值分割f=imread(cameraman.tif);subplot(1,2,1);imshow(f);创建一个一行二列的窗口在第一个窗口显示图title(原始图);标注标题f=double(f);T=(min(f(:)+max(f(:)/2;done=false;i=0;i=0whiledone%whiledone 是循环条件, 是“非”的意思,此done = 0; 说明是无限循环,循环体里面应该还r1=find(fT);按前次结果重新对t进行二次分Tnew=(mean(f(r1)+mean(f(r2)/2; 新阈值两个范围内像素平均值和的一半don

8、e=abs(Tnew-T)1;设定两次阈值的比较当满足小于1时停止循环1 是自己指定的参数T=Tnew;TnwTi=i+1;1endf(r1)=0;f(r2)=1;subplot(1,2,2);imshow(f);title(迭代阈值二值化图);标注标题图4原始图像图5迭代阈值二值化图像分析:用初阈 1输出迭代结果。%例 3 Laplacian 算子和模板匹配法I=imread(cameraman.tif);第5页共13页医学图像处理subplot(1,3,1);imshow(I);创建一个一行三列的窗口在第一个窗口显示图title(原图);标注标题H=fspecial(laplacian);

9、生 成 laplacian 滤 波 器 laplacianH=filter2(H,I);以laplacian为模板对图像I进行锐化滤波subplot(1,3,2);创建一个一行三列的窗口在第二个窗口显示图imshow(laplacianH);显示图像title(laplacian算子锐化图);标注标题H=fspecial(prewitt);生成Prewitt滤波prewittH=filter2(H,I);prewittIsubplot(1,3,3);imshow(prewittH);显示图像title(prewitt模板锐化图);标注标图6原图像图7laplacian算子锐化图像图8prewi

10、tt模板锐化图像分析:从结果图可以看出,laplacian 算子对边缘的处理更明显,它是二阶微分算子,能加强边缘效果,对噪声很敏感,Prewitt 算子是平均滤波的一阶的微分算子,不仅能检测边缘点,而且能抑制噪声的影响。%例 4 不同边缘检测方法比较f=imread(cameraman.tif);subplot(2,2,1);imshow(f);创建一个二行二列的窗口,在第一个窗口显示图title(原始图);标注标题g,t=edge(f,roberts,both); %用 roberts 检测器对图像进行边缘检测,阈值自动选取 , 检 测 边 缘 方 双 向 为 both subplot(2,

11、2,2);imshow(g);创建一个二行二列的窗口,在第二个窗口显示图title(Roberts算子分割结);标注标题g,t=edge(f,sobel,both);%用sobel检 测 边 缘 方 双 向 为 both subplot(2,2,3);imshow(g);创建一个二行二列的窗口,在第三个窗口显示图title(Sobel算子分割结);标注标题g,t=edge(f,prewitt,both);prewitt选 取 , 检 测 边 缘 方 ( 双 ) 为 both subplot(2,2,4);imshow(g);创建一个二行二列的窗口,在第四个窗口显示图title(prewitt算

12、子分割结);标注标题第6页共13页医学图像处理图9原始图像图10 Roberts算子分割结果图像图11 Sobel 算子分割结果图像图12 prewitt算子分割结果图像 和 Sobel 算子分割效果比 Roberts 效果要好一些,提取边缘较完整,其边缘连续性较好。但是这三种算子的边缘的连续性都不太好,这时我们 需要采用霍夫变换使间断变成连续,连接边缘。思考题分析Sobel算子特点,并给予说明。f=imread(skull.tif);读取图f=double(f);fsubplot(3,3,1);3*31imshow(f,);ftitle(原始图);给图像加标题原始图J=imnoise(f,g

13、aussian,0.02);subplot(3,3,2);3*32imshow(J,);title(加高斯噪声图);给 图 像 加 标 题 加 高 斯 噪 声 图 g1,t=edge(f,sobel,both); 用sobel检测器对原图像进行边缘检测,阈值自动both g2,t=edge(J,sobel,both);sobelboth g3,t=edge(f,sobel,vertical); %用 sobel选取,检测边缘方向为垂直方向g4,t=edge(J,sobel,vertical); %用 sobel动选取,检测边缘方向为垂直方第7页共13页医学图像处理g5,t=edge(f,sob

14、el,horizontal); %用 sobel 检测器对原图像进行边缘检测,阈值自动选取,检测边缘方向为水平方向g6,t=edge(J,sobel,horizontal); %用 sobel自动选取,检测边缘方向为水平方向subplot(3,3,3);3*33imshow(g1);显示经 sobel 算子处理后的图像title(sobel算子双向分割结);给图像加标题为算子双向分割结果 subplot(3,3,4);imshow(g2);title(加噪后sobel双向分割结); 在3*3子图像的位置显示加噪后sobel3*35sobelsobel3*36 显示加噪后sobel3*37sob

15、elsobel3*38 显示加噪后sobel图13原始图像图14加高斯噪声图像图15sobel算子双向分割结果图像图16加噪后sobel双向分割图 图17sobel水平方向分割图图18加噪后sobel水平分割图图19sobel垂直方向分割结果图像图20加噪后sobel垂直方向分割结果图像第8页共13页医学图像处理分析: SobelSobel测垂直边缘的。由于Sobel 算子是一节微分滤波算子的,用于提取边缘,有方向性,从结果可以看出双向both 的分割效果最好。缺点: 算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel 算子没有基于图像灰度进行处理,由于Sobel分析laplac

16、ian算子特点,并解释它为何能增强图像的边缘? I=imread(skull.tif);读取原图subplot(2,3,1),imshow(I,);title(原图) 在2*3子图像的位置1显示原图H1=fspecial(laplacian,0);Laplacian0,说明H1-4H2=fspecial(laplacian);Laplacian0.2,说明H2H3=fspecial(laplacian,1);Laplacian1,说明H3-2J=imnoise(I,salt & pepper,0.02);2*33加椒盐噪声图像I1=imfilter(I,H1);H1laplacian2*3位置

17、3HIlaplacianI2=imfilter(I,H2);H2laplacian2*34 显示H2 模板laplacianI3=imfilter(I,H3);H3laplacian2*35 显示H3 模板laplacian图21原图像图22添加椒盐噪声图像 图23HI模板laplacian算子滤波图第9页共13页医学图像处理图 24 H2模板laplacian算子滤波结果图像图25H3模板laplacian算子滤波结果图像分析: laplacian 算子对边缘的处理明显,它是二阶微分算子,能加强边缘效果,对噪声很敏感。它没有方向性,但是可以改变模板的中间系数,会有不同的效果。比较各个边缘算子

18、对图像边缘的检测效果。I=imread(skull.tif);读取图subplot(3,3,1),imshow(I),title(原图像),imshow(I);title(原图像) %在 3*3 子图像的位置1显示原图BW1=edge(I,sobel,0.1);用 sobel 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,2),imshow(BW1);title(sobel算子处理后图) 在3*3子图像的位置2显示sobel算子处理后图像BW2=edge(I,roberts,0.1);用 roberts 算子进行边缘检测判断阈值为 subplot(3,3,3),imshow(B

19、W2);title(roberts算子处理后图)%在3*3子图像的位置3显示roberts算子处理后图像BW3=edge(I,prewitt,0.1);用 prewitt 算子进行边缘检测判断阈值为 subplot(3,3,4),imshow(BW3);title(prewitt算子处理后图)%在3*3子图像的位置4显示prewitt 算子处理后图像BW4=edge(I,log,0.01);%用 log 算子进行边缘检测,判断阈值为 0.01 subplot(3,3,5),imshow(BW4);title(log3*35 显示算子处理后图像BW5=edge(I,canny,0.1);% 用

20、canny 算 子 进 行 边 缘 检 测 , 判 断 阈 值 为 0.1 subplot(3,3,6),imshow(BW5);title(canny 算子处理后图像)%在 3*3 子图像的位置 6 显示canny 算子处理后图像H=fspecial(laplacian); %生成 Laplacian)(它具有各向同性(Laplacian 处理,因为平滑处理也是用模板进行的,所以,通常的分割算法都 Laplacian 算子和平滑算子结合起来生成一个新的模板)laplacianH=filter2(H,I);ILaplacian3*37 显示Laplacian第10页共13页医学图像处理图26原

21、图像图27sobel算子处理后图像图28roberts算子处理后图像29prewitt30log31canny32Laplacian分析: laplacian 算子对边缘的处理最明显,Sobel 和 prewitt 较差一些。Roberts 算子定位比较精确,Prewitt 算子是平均滤波的一阶的微分算子,Canny 是一阶传统微分中检测阶跃型边缘效果最好的算子之一。Prewitt 和 Sobel 算子比 Roberts 效果要好一些。Log 滤波器和 Canny 算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。比较几种边缘检测结果,可以看到 Canny 算子提取边缘较完整,其边缘连

22、续性较好,效果优于其它算子。其次是 Prewitt 算子,其边缘比较完整。再次就是 Sobel 算子。比较各个边缘检测算子对噪声的敏感性,并提出抗噪声性能较好的边缘检测的方法I=imread(skull.tif);读取图像subplot(3,3,1 ),imshow(I),title(原图像) ,imshow(I);title(原图像)%在 3*3 子图像的位置1显示原图J=imnoise(I,salt & pepper,0.02);给图像加噪声密度为0.02的椒盐噪声subplot(3,3,2),imshow(J,);title(添加椒盐噪声图)%在3*3子图像的位置2显示添椒盐噪声图像BW

23、1=edge(J,sobel,0.1);用 sobel 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,3),imshow(BW1,);title(sobel算子处理后图)%在3*3 子图像的位置3 显sobel算子处理后图像BW2=edge(J,roberts,0.1);用 roberts 算子进行边缘检测判断阈值为 subplot(3,3,4),imshow(BW2,);title(roberts算子处理后图)%在3*3子图像的位置4显示roberts算子处理后图像BW3=edge(J,prewitt,0.1);用 prewitt 算子进行边缘检测判断阈值为 subplot(

24、3,3,5),imshow(BW3,);title(prewitt算子处理后图)%在3*3子图像的位置5显示 prewitt 算子处理后图像BW4=edge(J,log,0.01);log 算子进行边缘检测,判断阈值为 0.01 subplot(3,3,6),imshow(BW4,);title(log3*36log第页共13页医学图像处理BW5=edge(J,canny,0.1);%用 canny 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,7),imshow(BW5,);title(canny算子处理后图像)%在3*3 子图像的位置7 显示canny %生成 Laplacian)(同性(L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论