图像分割 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

课程名称医学图像处理

实验名称图像分割

专业班级

姓名

学号

实验日期

实验地点

2015—2016学年度第2学期

050100150200250

图1 原图图3 阈值分割后得二值图像

:手动阈值分割得阈值就是取直方图中双峰得谷底得灰度值作为阈值,若有多个双峰谷底则取第一个作为阈值。本题得阈值取

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=0

while~done %while ~done 就是循环条件,~就是“非”得意思,此

处done = 0;说明就是无限循环,循环体里面应该还

有循环退出条件,否则就循环到死了;

r1=find(f<=T); %按前次结果对t进行二次分 r2=find(f〉T);%按前次结果重新对t进行二次分 Tnew=(mean(f(r1))+mean(f(r2)))/2; %新阈值两个范围内像素平均值与得一半done=abs(Tnew-T)<1; %设定两次阈值得比较,当满足小于1时,停止循环,

1就是自己指定得参数

T=Tnew; %把Tnw得值赋给T

i=i+1;%执行循坏,每次都加1

end

f(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原图像图7laplacian算子锐化图像图8prewitt模板锐化图像

分析:从结果图可以瞧出,laplacian算子对边缘得处理更明显,它就是二阶微分算子,能加强

边缘效果,对噪声很敏感,Prewitt算子就是平均滤波得一阶得微分算子,不仅能检测边缘点,而且能抑制噪声得影响。

%例4 不同边缘检测方法比较

f=imread(’cameraman、tif’);%读取图像

subplot(2,2,1);imshow(f); %创建一个二行二列得窗口,在第一个窗口显示图像

title(’原始图像');%标注标题

[g,t]=edge(f,'roberts',[],’both'); %用roberts检测器对图像进行边缘检测,阈值自动选

取,检测边缘方向(双向)为both

subplot(2,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算子分割结果'); %标注标题

图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子图像得窗口,原图在位置1 imshow(f,[]); %显示原图像f

title('原始图像’); %给图像加标题为'原始图像'

J=imnoise(f,'gaussian',0、02); %对图像加高斯噪声

subplot(3,3,2); %创建有3*3子图像得窗口,原图在位置2

相关文档
最新文档