图像分割实验报告.doc

上传人:w****2 文档编号:6543758 上传时间:2020-02-28 格式:DOC 页数:14 大小:390KB
返回 下载 相关 举报
图像分割实验报告.doc_第1页
第1页 / 共14页
图像分割实验报告.doc_第2页
第2页 / 共14页
图像分割实验报告.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
评分实验报告 课程名称 医学图像处理 实验名称 图像分割 专业班级 姓 名 学 号 实验日期 实验地点 20152016学年度第 2 学期一、 实验目的掌握常用的边缘提取算法,从图像中提取感兴趣的区域,实现图像分割。在图像中,寻找灰度相同或相似的区域,区分图像中的背景区域和目标区域,利用Matlab实现图像的边缘检测,进行图像分割。二、实验环境 1、硬件配置:Intel(R) Core(TM) i5-4210U CPU 1.7GHz 1.7GHz 安装内存(RAM):4.00GB 系统类型:64位操作系统 2、软件环境:MATLAB R2013b软件三、实验内容(包括本实验要完成的实验问题及需要的相关知识简单概述)图像边缘是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素的集合。图像边缘存在于目标与背景、目标与目标、基元与基元的边界,标示出目标物体或基元的实际含量,是图像识别信息最集中的地方。图像分割处理主要用于检测出图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表示同一物体表面的区域检测出来的目的。常用的分割方法是边缘检测。边缘检测是采用多种边缘算子实现突出图像边缘,抑制图像中非边缘信息,使图像轮廓更加清晰。1梯度算子法对于图像f(x,y),它在点f(x,y)处的梯度是一个矢量,定义为梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅值为 梯度的数值就是f(x,y)在其最大变化率方向上的单位距离所增加的量。对于图像而言,微分运算可以用差分运算来近似。 简化成模板可以表示成如下形式:Robert梯度算子 当梯度计算完后,可采用以下几种形式突出图像的轮廓。梯度直接输出使各点的灰度g(x,y)等于该点的梯度,即 这种方法简单、直接。但增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变换比较平缓的区域则呈暗色。加阈值的梯度输出加阈值的梯度输出表达式为 式中,T是一个非负的阈值,适当选取T,既可以使明显的边缘得到突出,又不会破坏原来灰度变化比较平缓的背景。给边缘指定一个特定的灰度级 式中LG是根据需要指定的一个灰度级,它将明显的边缘用一个固定的灰度级表现,而其他的非边缘区域的灰度级仍保持不变。给背景指定一个特定的灰度级 该方法将背景用一个固定灰度级LG表现,便于研究边缘灰度的变化。二值图像输出在某些场合(如字符识别等),既不关心非边缘像素的灰度级差别,又不关心边缘像素的灰度级差别,只关心每个像素是边缘像素还是非边缘像素,这时可采用二值化图像输出方式,其表达式为 此法将背景和边缘用二值图像表示,便于研究边缘所在位置。2Sobel算子法Sobel相对于先对图像进行加权平均再做差分。对于图像的33窗口 ,设 则定义Sobel算子为 简化成模板可以表示成如下形式:Sobel模板 3拉普拉斯运算法拉普拉斯算子定义图像f(x,y)的梯度为锐化后的图像g为 式中k为扩散效应系数。对系数k的选择要合理,太大会使图像中的轮廓边缘产生过冲;太小则锐化不明显。常用laplacian算子模板为 , , 另外还有一些模板也常用于图像增强,如Prewitt模板 四、实验结果与分析 (包括实验原理、数据的准备、运行过程分析、源程序(代码)、图形图象界面等)注:本项可以增加页数 %例1 手动阈值分割I,map=imread(cameraman.tif); %读入图像imshow(I);figure; %显示图像J=imhist(I);imhist(I); %生成直方图并显示M,N=size(I); %返回图像的行数和列数for i=1:1:M %将i以步长1从1增加到Mfor j=1:1:N %将j以步长1从1增加到N if I(i,j)80 %如果图像阈值大于80 g(i,j)=0; %则大于80的就变成黑的 else g(i,j)=1; %小于80就变成白的 end endendfigure;imshow(g); %保持原图,显示图像g 图1 原图 图2 直方图 图3 阈值分割后的二值图像分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。本题的阈值取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 %while done 是循环条件, 是“非”的意思,此处done = 0; 说明是无限循环,循环体里面应该还有循环退出条件,否则就循环到死了; r1=find(fT); %按前次结果重新对t进行二次分 Tnew=(mean(f(r1)+mean(f(r2)/2; %新阈值两个范围内像素平均值和的一半done=abs(Tnew-T)1; %设定两次阈值的比较,当满足小于1时,停止循环,1是自己指定的参数 T=Tnew; %把Tnw的值赋给T i=i+1; %执行循坏,每次都加1endf(r1)=0; %把小于初始阈值的变成黑的f(r2)=1; %把大于初始阈值的变成白的subplot(1,2,2); %创建一个一行二列的窗口,在第二个窗口显示图像imshow(f); %显示图像title(迭代阈值二值化图像); %标注标题图4原始图像 图5迭代阈值二值化图像分析:本题是迭代阈值二值化分割,步骤是:1.选定初始阈值,即原图大小取平均;2.用初阈值进行二值分割;3.目标灰度值平均背景都取平均;4.迭代生成阈值,直到两次阈值的灰度变化不超过1,则稳定;5.输出迭代结果。%例3 Laplacian算子和模板匹配法I=imread(cameraman.tif); %读入图像subplot(1,3,1);imshow(I); %创建一个一行三列的窗口,在第一个窗口显示图像title(原图像); %标注标题H=fspecial(laplacian); %生成laplacian滤波器laplacianH=filter2(H,I); %以laplacian为模板对图像I进行锐化滤波subplot(1,3,2); %创建一个一行三列的窗口,在第二个窗口显示图像imshow(laplacianH); %显示图像title(laplacian算子锐化图像); %标注标题H=fspecial(prewitt); %生成Prewitt滤波器prewittH=filter2(H,I); %以prewitt为模板对图像I进行锐化滤波subplot(1,3,3); %创建一个一行三列的窗口,在第三个窗口显示图像imshow(prewittH); %显示图像title(prewitt模板锐化图像); %标注标题 图6原图像 图7 laplacian算子锐化图像 图8 prewitt模板锐化图像分析:从结果图可以看出,laplacian算子对边缘的处理更明显,它是二阶微分算子,能加强边缘效果,对噪声很敏感,Prewitt算子是平均滤波的一阶的微分算子,不仅能检测边缘点,而且能抑制噪声的影响。%例4 不同边缘检测方法比较f=imread(cameraman.tif); %读取图像subplot(2,2,1);imshow(f); %创建一个二行二列的窗口,在第一个窗口显示图像title(原始图像); %标注标题g,t=edge(f,roberts,both); %用roberts检测器对图像进行边缘检测,阈值自动选取,检测边缘方向(双向)为bothsubplot(2,2,2);imshow(g); %创建一个二行二列的窗口,在第二个窗口显示图像title(Roberts算子分割结果); %标注标题g,t=edge(f,sobel,both); %用sobel检测器对图像进行边缘检测,阈值自动选取,检测边缘方向(双向)为bothsubplot(2,2,3);imshow(g); %创建一个二行二列的窗口,在第三个窗口显示图像title(Sobel算子分割结果); %标注标题g,t=edge(f,prewitt,both); %用prewitt检测器对图像进行边缘检测,阈值自动选取,检测边缘方向(双向)为bothsubplot(2,2,4);imshow(g); %创建一个二行二列的窗口,在第四个窗口显示图像title(prewitt算子分割结果); %标注标题图9原始图像 图10 Roberts算子分割结果图像图11 Sobel算子分割结果图像 图12 prewitt算子分割结果图像分析:从结果图可以看出,Prewitt 和 Sobel 算子分割效果比 Roberts 效果要好一些,提取边缘较完整,其边缘连续性较好。但是这三种算子的边缘的连续性都不太好,这时我们需要采用霍夫变换使间断变成连续,连接边缘。思考题1分析Sobel算子特点,并给予说明。f=imread(skull.tif); %读取图像f=double(f); %转化图像f的类型为双精度subplot(3,3,1); %创建有3*3子图像的窗口,原图在位置1imshow(f,); %显示原图像ftitle(原始图像); %给图像加标题为原始图像J=imnoise(f,gaussian,0.02); %对图像加高斯噪声subplot(3,3,2); %创建有3*3子图像的窗口,原图在位置2imshow(J,); %显示加噪声的图像title(加高斯噪声图像); %给图像加标题为加高斯噪声图像g1,t=edge(f,sobel,both); %用sobel检测器对原图像进行边缘检测,阈值自动选取,检测边缘方向(双向)为bothg2,t=edge(J,sobel,both); %用sobel检测器对加噪图像进行边缘检测,阈值自动选取,检测边缘方向(双向)为bothg3,t=edge(f,sobel,vertical); %用sobel检测器对原图像进行边缘检测,阈值自动选取,检测边缘方向为垂直方向g4,t=edge(J,sobel,vertical); %用sobel检测器对加噪图像进行边缘检测,阈值自动选取,检测边缘方向为垂直方向g5,t=edge(f,sobel,horizontal); %用sobel检测器对原图像进行边缘检测,阈值自动选取,检测边缘方向为水平方向g6,t=edge(J,sobel,horizontal); %用sobel检测器对加噪图像进行边缘检测,阈值自动选取,检测边缘方向为水平方向subplot(3,3,3); %创建有3*3子图像的窗口,图在位置3imshow(g1); %显示经sobel算子处理后的图像title(sobel算子双向分割结果); %给图像加标题为sobel算子双向分割结果subplot(3,3,4);imshow(g2);title(加噪后sobel双向分割结果); %在3*3子图像的位置4显示加噪后sobel双向分割结果图像subplot(3,3,5);imshow(g3);title(sobel水平方向分割结果); %在3*3子图像的位置5显示sobel水平方向分割结果结果图像 subplot(3,3,6);imshow(g4);title(加噪后sobel水平方向分割结果); %在3*3子图像的位置6显示加噪后sobel水平方向分割结果图像subplot(3,3,7);imshow(g5);title(sobel垂直方向分割结果); %在3*3子图像的位置7显示sobel垂直方向分割结果图像subplot(3,3,8);imshow(g6);title(加噪后sobel垂直方向分割结果); %在3*3子图像的位置8显示加噪后sobel垂直方向分割结果图像 图13原始图像 图14加高斯噪声图像 图15 sobel算子双向分割结果图像图16加噪后sobel双向分割图 图17sobel水平方向分割图 图18加噪后sobel水平分割图图19 sobel垂直方向分割结果图像 图20加噪后sobel垂直方向分割结果图像分析:Sobel相对于先对图像进行加权平均再做差分。 在边缘检测中,常用的一种模板是Sobel算子。Sobel 算子有三个,一个是检测双向边缘的 ,一个是检测水平边缘的;另一个是检测垂直边缘的。由于Sobel算子是一节微分滤波算子的,用于提取边缘,有方向性,从结果可以看出双向both的分割效果最好。缺点:Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。2分析laplacian算子特点,并解释它为何能增强图像的边缘?I=imread(skull.tif); %读取原图subplot(2,3,1),imshow(I,);title(原图像) %在2*3子图像的位置1显示原图像H1=fspecial(laplacian,0); %生成Laplacian算子滤波器,滤波器的标准差为0,说明H1模板的中间系数是-4H2=fspecial(laplacian); %生成Laplacian算子滤波器,滤波器的标准差为默认值0.2,说明H2模板的中间系数是-3.333H3=fspecial(laplacian,1); %生成Laplacian算子滤波器,滤波器的标准差为1,说明H3模板的中间系数是-2J=imnoise(I,salt & pepper,0.02); %添加椒盐噪声subplot(2,3,2),imshow(J,);title(添加椒盐噪声图像) %在2*3子图像的位置3显示添加椒盐噪声图像I1=imfilter(I,H1); %用H1模板进行均值滤波subplot(2,3,3),imshow(I1,);title(HI模板laplacian算子滤波结果) %在2*3子图像的位置3显示HI模板laplacian算子滤波结果图像I2=imfilter(I,H2); %用H2模板进行均值滤波subplot(2,3,4),imshow(I2,);title(H2模板laplacian算子滤波结果) %在2*3子图像的位置4显示H2模板laplacian算子滤波结果图像I3=imfilter(I,H3); %用H3模板进行均值滤波subplot(2,3,5),imshow(I3,);title(H3模板laplacian算子滤波结果) %在2*3子图像的位置5显示H3模板laplacian算子滤波结果图像 图21原图像 图22添加椒盐噪声图像 图23 HI模板laplacian算子滤波图 图 24 H2模板laplacian算子滤波结果图像 图25 H3模板laplacian算子滤波结果图像分析:laplacian算子对边缘的处理明显,它是二阶微分算子,能加强边缘效果,对噪声很敏感。它没有方向性,但是可以改变模板的中间系数,会有不同的效果。3比较各个边缘算子对图像边缘的检测效果。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 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,3),imshow(BW2);title(roberts算子处理后图像)%在3*3子图像的位置3显示roberts算子处理后图像BW3=edge(I,prewitt,0.1); %用 prewitt 算子进行边缘检测,判断阈值为 0.1 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(log算子处理后图像)%在3*3子图像的位置5显示log算子处理后图像BW5=edge(I,canny,0.1);%用 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); %图像I经Laplacian算子锐化滤波处理subplot(3,3,7);imshow(laplacianH);title(Laplacian算子锐化图像); %在3*3子图像的位置7显示Laplacian算子锐化图像 图26原图像 图27 sobel算子处理后图像 图28 roberts算子处理后图像 图29 prewitt处理后图 图30 log处理后图 图31 canny处理后图像 图32 Laplacian锐化图分析:laplacian算子对边缘的处理最明显,Sobel和 prewitt较差一些。Roberts 算子定位比较精确,Prewitt 算子是平均滤波的一阶的微分算子,Canny是一阶传统微分中检测阶跃型边缘效果最好的算子之一。Prewitt 和 Sobel 算子比 Roberts 效果要好一些。Log滤波器和 Canny 算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。比较几种边缘检测结果,可以看到 Canny 算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是 Prewitt 算子,其边缘比较完整。再次就是 Sobel 算子。4比较各个边缘检测算子对噪声的敏感性,并提出抗噪声性能较好的边缘检测的方法。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显示添加椒盐噪声图像BW1=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 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,4),imshow(BW2,);title(roberts算子处理后图像)%在3*3子图像的位置4显示roberts算子处理后图像BW3=edge(J,prewitt,0.1); %用 prewitt 算子进行边缘检测,判断阈值为 0.1 subplot(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(log算子处理后图像)%在3*3子图像的位置6显示log算子处理后图像BW5=edge(J,canny,0.1); %用 canny 算子进行边缘检测,判断阈值为 0.1 subplot(3,3,7),imshow(BW5,);title(canny算子处理后图像)%在3*3子图像的位置7显示canny算子处理后图像H=fspecial(laplacian); %生成Laplacian算子滤波器(突出图像中的小细节)(它具有各向同性)(Laplacian 算子对噪声比较敏感,所以图像一般先经过平滑处理,因为平滑处理也是用模板进行的,所以通常的分割算法都是把Laplacian 算子和平滑算子结合起来生成一个新的模板。)laplacianH=filter2(H,J); %图像I经Laplacian算子锐化滤波处理subplot(3,3,8);imshow(laplacianH);title(Laplacian算子锐化图像); %在3*3子图像的位置8显示Laplacian算子锐化图像 图33原图像 图34添加椒盐噪声图像 图35 sobel算子处理后图像 图36 roberts算子处理后图像 图37 prewitt算子处理后图像 图38 log算子处理后图像图39 canny算子处理后图像 图 40 Laplacian算子锐化图像分析:laplacian算子对噪声的敏感性最强,可先对图像进行平滑处理,再进行边缘检测。 梯度算子仅用最近邻像素的灰度计算,对噪声敏感,无法抑制噪声的影响。Prewitt 算子不仅能检测边缘点,而且能抑制噪声的影响。Sobel不仅能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。Log 算子是基于二阶导数的边缘检测,将高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边缘检测。Roberts 算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。五、实验小结: (包括主要实验问题的最终结果描述、详细的收获体会,待解决的问题等)在此次实验中,由于实验内容更贴近生活应用,因此比起上学期,我们更容易领悟该程序的表达,只是在细节方面还是很容易出错,甚至不容易拐过弯来。但经过此次实验,我们懂得要学着从复杂的程序中剥茧抽丝,把程序尽可能的简单化。 在实验中应注意的点:1.手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。2. 迭代阈值二值化分割的步骤是:1).选定初始阈值,即原图大小取平均;2).用初阈值进行二值分割;3).目标灰度值平均背景都取平均;4).迭代生成阈值,直到两次阈值的灰度变化不超过1,则稳定;5).输出迭代结果。 3. 需要采用霍夫变换使间断变成连续,连接边缘。4. Sobel算子是一节微分滤波算子的,用于提取边缘,有方向性;laplacian算子对边缘的处理明显,它是二阶微分算子,能加强边缘效果,对噪声很敏感。它没有方向性,但是可以改变模板的中间系数,会有不同的效果。5. Canny 算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是 Prewitt 算子,其边缘比较完整。再次就是 Sobel 算子。laplacian算子对噪声的敏感性最强,可先对图像进行平滑处理,再进行边缘检测。 梯度算子仅用最近邻像素的灰度计算,对噪声敏感,无法抑制噪声的影响。Prewitt 算子不仅能检测边缘点,而且能抑制噪声的影响。Sobel不仅能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。Log 算子是基于二阶导数的边缘检测,将高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边缘检测。Roberts 算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。手写签名:
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!