预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

评分实验报告课程名称医学图像处理实验名称图像分割专业班级姓名学号实验日期实验地点2015—2016学年度第2学期实验目得掌握常用得边缘提取算法,从图像中提取感兴趣得区域,实现图像分割。在图像中,寻找灰度相同或相似得区域,区分图像中得背景区域与目标区域,利用Matlab实现图像得边缘检测,进行图像分割。二、实验环境1、硬件配置:Intel(R)Core(TM)i5-4210UCPU1、7GHz1、7GHz安装内存(RAM):4、00GB系统类型:64位操作系统2、软件环境:MATLABR2013b软件三、实验内容(包括本实验要完成得实验问题及需要得相关知识简单概述)图像边缘就是图像中特性(如像素灰度、纹理等)分布得不连续处,图像周围特性有阶跃变化或屋脊状变化得那些像素得集合。图像边缘存在于目标与背景、目标与目标、基元与基元得边界,标示出目标物体或基元得实际含量,就是图像识别信息最集中得地方.图像分割处理主要用于检测出图像中得轮廓边缘、细节以及灰度跳变部分,形成完整得物体边界,达到将物体从图像中分离出来或将表示同一物体表面得区域检测出来得目得。常用得分割方法就是边缘检测。边缘检测就是采用多种边缘算子实现突出图像边缘,抑制图像中非边缘信息,使图像轮廓更加清晰。1。梯度算子法对于图像f(x,y),它在点f(x,y)处得梯度就是一个矢量,定义为梯度得方向在函数f(x,y)最大变化率得方向上,梯度得幅值为梯度得数值就就是f(x,y)在其最大变化率方向上得单位距离所增加得量。对于图像而言,微分运算可以用差分运算来近似.简化成模板可以表示成如下形式:Robert梯度算子当梯度计算完后,可采用以下几种形式突出图像得轮廓。梯度直接输出使各点得灰度g(x,y)等于该点得梯度,即这种方法简单、直接.但增强得图像仅显示灰度变化比较陡得边缘轮廓,而灰度变换比较平缓得区域则呈暗色.加阈值得梯度输出加阈值得梯度输出表达式为式中,T就是一个非负得阈值,适当选取T,既可以使明显得边缘得到突出,又不会破坏原来灰度变化比较平缓得背景。给边缘指定一个特定得灰度级式中LG就是根据需要指定得一个灰度级,它将明显得边缘用一个固定得灰度级表现,而其她得非边缘区域得灰度级仍保持不变。给背景指定一个特定得灰度级该方法将背景用一个固定灰度级LG表现,便于研究边缘灰度得变化。ﻩ二值图像输出在某些场合(如字符识别等),既不关心非边缘像素得灰度级差别,又不关心边缘像素得灰度级差别,只关心每个像素就是边缘像素还就是非边缘像素,这时可采用二值化图像输出方式,其表达式为此法将背景与边缘用二值图像表示,便于研究边缘所在位置.2.Sobel算子法Sobel相对于先对图像进行加权平均再做差分。对于图像得3×3窗口,设则定义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);%返回图像得行数与列数fori=1:1:M%将i以步长1从1增加到Mforj=1:1:N%将j以步长1从1增加到NifI(i,j)>80%如果图像阈值大于80g(i,j)=0;%则大于80得就变成黑得elseg(i,j)=1;%小于80就变成白得endendendfigure;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;%迭代,