当前位置:文档之家› 实验八 医学图像分割----基于梯度算子的边缘检测

实验八 医学图像分割----基于梯度算子的边缘检测

实验八医学图像分割(一)
----基于梯度算子的边缘检测
实验目的:
1.掌握各种梯度算子的形成及特点;
2.掌握医学图像分割的基本原理;
3.熟练使用梯度算子对医学图像进行边缘检测;
4.熟练使用Matlab语言编写基于梯度算子的医学图像边缘检测算
法;
5.熟悉边界跟踪的原理及方法。

实验内容:
一、Matlab图像处理工具箱提供的图像分割函数
1.边缘检测函数额度edge:
语法:[g,t]=edge(f, ‘method’, parameter)
说明:g是一个逻辑数组,其值为:在f中检测到边缘的位置为1,其他位置为零;t是edge是用的阈值;method为边缘检测算子,可选为:‘sobel’, ‘prewit’, ‘roberts’, ‘log’(LoG), ‘zerocross’, ‘canny’等;parameter包含两部分:T为指定的阈值,第二部分为dir (检测边缘的首选方向:‘horizontal’, ‘vertical’, ‘both’),或sigma(当为LOG算子和canny算子进使用,指定标准方差),或H
(当为zerocross时,为指定的滤波函数)。

详细说明请参见MATLAB帮助。

二、使用edge函数对图像XHand.JPG进行边缘检测。

XHan d.jpg
1、要求使用‘sobel’, ‘prewit’, ‘roberts’, ‘log’, ‘canny’等算子,edge函数的其它参数均取默认值对图像进行处理,并将原图像和所有处理后得到的图像在同一个窗口中显示。

2、使用指定的阈值进行边缘检测。

‘sobel’, ‘prewit’, ‘roberts’算子的阈值均取0.05,方向为默认值;‘log’(LoG), ‘canny’算子的取值如下
[g,t]=edge(f,'LOG',0.003,2.25);
[g,t]=edge(f,'canny',[0.04,0.1],1.5)
‘canny’算子的阈值的取值为一个范围。

你也可以调整各个算子的阈值和标准差的值,看看处理的结果。

三、图Ball.jpg为一放在灰色背景中的黑球的照片,假定球用每立方厘米(cm3) 重1克的材料制成。

象素间距是1mm。

请用MATLAB语言编程求解球的重量是多
少? Ball.jpg
实验报告按下面的格式书写:
1.实验目的
2.实验内容
编程部分要给出完整的源代码,最好将图像打印后贴在实验本上
3.实验体会与存在的问题。

相关主题