matlab课程设计图像区域分割系统设计.docx
- 文档编号:107902
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:16
- 大小:597.42KB
matlab课程设计图像区域分割系统设计.docx
《matlab课程设计图像区域分割系统设计.docx》由会员分享,可在线阅读,更多相关《matlab课程设计图像区域分割系统设计.docx(16页珍藏版)》请在冰点文库上搜索。
学 号
天津城建大学
数字图像处理设计说明书
图像区域分割系统设计
起止日期:
2018年12月10日至 2018年12月14日
学 生 姓 名
班 级 15电信科
成 绩
指导教师(签字)
计算机与信息工程学院
2018年12月14日
天津城建大学
课程设计任务书
2018—2019学年第一学期
计算机与信息工程学院电子信息与科学技术专业 班级课程设计名称:
数字图像处理课程设计
设计题目:
图像区域分割系统设计
完成期限:
自2018年12 月10日至2018年12月14日共1周
一、课程设计依据
在掌握数字图像处理基本算法的基础上,利用MATLAB、VC++、Python等编程语言设计具有指定功能的图形用户界面。
二、课程设计内容
1、设计一个实现图像区域分割功能的界面
2、界面可以采用MATLAB、VC++、Python等编程语言设计
3、要求界面能够读入并显示图片,通过各种控件选择并进行图像的分割操作,操作结果在对比窗口中显示
4、图像区域分割功能至少包括直方图阈值法、Otsu阈值法、迭代阈值法、区域生长与分裂合并法等,每项功能可采用一个或多个算法实现
三.课程设计要求
1、要求每个同学独立完成设计任务。
2、课程设计说明书封面格式要求见《课程设计说明书格式要求》。
3、课程设计的说明书要求简洁、通顺,图像表达内容完整、清楚、规范。
4、课程设计说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)可采用图表或文字对图形用户界面各子模块的功能以及各子模块之间的关系做较详细的描述。
3)详细说明代码的编写流程。
4)采用图像及文字详细说明各功能的演示结果。
指导教师(签字):
系主任(签字):
批准日期:
2018年 12 月 7 日
目录
第1章设计方案 1
1.1图像分割 1
1.2图形用户界面 1
第2章设计原理 2
2.1基于阈值的图像分割 2
2.1.1直方图阈值法 2
2.1.2Otsu阈值法 2
2.1.3迭代阈值法 2
2.2基于区域的图像分割 3
2.2.1区域生长法 3
2.2.2区域分裂合并法 3
第3章功能实现 4
3.1GUI界面设计 4
3.2各模块功能实现 4
第4章设计结果及分析 7
4.1设计结果 7
4.2设计结果分析 11
总结 12
第1章设计方案
1.1图像分割方法
图像分割是指利用图像的某些特征,如灰度、颜色、纹理等,将图像划分为多个组成区域或从图像中提取感兴趣的目标区域。
这些特征在同一区域内表现出一致性或相似性,而在不同区域之间表现出显著区别。
而灰度图像分割的依据一般是像素灰度值的两个特性:
灰度相似性和灰度不连续性。
同一区域内部的像素一般具有灰度相似性,而在不同区域之间的边界上一般具有灰度不连续性。
因此根据像素灰度值的不同特性,图像分割方法可以分为利用区域间灰度不连续性的基于边界的图像分割方法和利用区域内灰度相似性的基于阈值的图像分割和基于区域的图像分割方法。
本课设主要利用基于阈值的图像分割法和基于区域的图像分割方法来对比分析各种方法实现图像分割的特点。
1.2图形用户界面
GUI(图形用户界面)一种全屏幕图形界面,用户通过点击设备(例如鼠标)操纵图形的屏幕元素。
在MATLAB中在命令行输入guide可以调出GUI设计界面。
在左侧菜单框中可以拖拽各种控件在界面内进行想要达到的界面布局。
然后双击某个控件进入该控件的属性检查器修改控件的个属性。
最后进入回调函数进行每个控件的代码编写,以实现想要完成的功能。
13
第2章设计原理
2.1基于阈值的图像分割
基于阈值的图像分割的基本原理是通过设定不同的阈值,将图像中的像素分为两类或多类,它是一种简单有效的图像分割方法,具有计算简单、容易实现的优点。
将像素分成两类的图像为二值图像,因此,两类像素的图像分割也称为图像二值化处理。
2.1.1直方图阈值法
1.基本思想
灰度直方图是数字图像处理中最简单和最有用的工具,它是灰度级的函数,描述的是图像中具有该灰度级的像素的个数。
灰度直方图概括了一幅图像的灰度级内容,任何一幅图像的直方图都包括了可观的信息,某些类型的图像还可由其直方图完全描述。
对于目标与背景的灰度级有明显差别的图像,通常采用直方图技术来确定阈值,一幅物体与背景对比明显的图像一般具有包含双峰的灰度直方图,物体中的像素产生直方图中的一个峰,而背景产生直方图中的另一个峰。
物体与背景的边界附近具有两个峰值之间的灰度级,其像素数目相对较少,从而产生了两峰之间的谷。
反过来,如果图像中物体与背景的对比明显,并且各个物体之间的灰度一致性较好,那么其对应的直方图一定是双峰直方图。
当分割阈值位于谷底时,图像分割可取得最好的效果。
2.1.2Otsu阈值法
1.基本思想
最大类间方差法是一种自适应的阈值确定的方法,又叫大津法。
它是按图像的灰度特性,将图像分成背景和目标两部分。
背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。
因此,使类间方差最大的分割意味着错分概率最小。
由大津提出的最大类间方差法,是在判决分析最小二乘法原理的基础上推导得出的,其算法比较简单,是一种方便可行的阈值选取方法。
2.算法步骤
(1)首先找出图像中的最高灰度级(L-1);
(2)然后分别取从0至L-1的每一灰度级作为阈值k;
(3)找出方差最大的阈值T。
2.1.3迭代阈值法
1.基本思想
迭代阈值法的基本思想是同一类别像素的灰度值具有较大的一致性,使用均值和方差作为均匀性度量的数字指标。
其基本原理是首先选取阈值的初始估计值,然后按照某种策略不断更新该估计值,直至收敛。
迭代法具有简单易行、执行速度快的优点,且所得阈值与Ostu阈值法基本相近。
当图像中前
景和背景区域面积相近时,图像的灰度均值是一种好的初始阈值的选择。
2.算法步骤
(1)为全局阈值T选择一个初始估计值。
(2)用T分割图像,将产生两组像素:
G1由灰度值大于T的所有像素组成,G2由所有小于等于T的像素组成。
(3)对G1和G2的像素分别计算平均灰度值m1和m2。
(4)计算一个新的阈值T=1/2(m1+m2)。
(5)重复步骤2到步骤4,直到连续迭代中的T值间的差小于一个预定义参数△T(用于控制迭代的次数;越大执行的迭代次数越少)为止。
2.2基于区域的图像分割
基于阈值的图像分割方法没有考虑像素的空间位置关系,而图像分割的同一区域像素应该具有相似的特征,基于区域的图像分割方法充分考虑了像素极其空间邻域像素之间的关系。
传统的区域分割方法包括区域生长法和区域分裂合并法。
2.2.1区域生长法
1.基本思想
区域生长的基本思想是将具有相似性质的像素集合起来构成区域。
具体先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。
将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。
这样一个区域就长成了。
2.基本步骤:
(1)选择区域的种子像素。
(2)确定将相邻像素包括进来的准则。
(3)制定生长停止的规则(确定相似性准则)。
2.2.2区域分裂合并法
1.基本思想
区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标提取。
分裂合并差不多是区域生长的逆过程:
从整个图像出发,不断分裂得到各个子区域,然后再把前景区域合并,实现目标提取。
分裂合并的假设是对于一幅图像,前景区域由一些相互连通的像素组成的,因此,如果把一幅图像分裂到像素级,那么就可以判定该像素是否为前景像素。
当所有像素点或者子区域完成判断以后,把前景区域或者像素合并就可得到前景目标。
2.算法步骤
(1)对任何区域Ri,如果P(Ri)=FALSE,就将每个区域都分裂为4个相连的不重叠区域;
(2)对相邻的两个区域Ri和Rj,如果满足P(RiURj)=TRUE,则进行合并。
合并的两个区域可以大小不同,即不在同一层。
(3)当再也没有可以进行合并或分裂的区域,则分割操作停止。
第3章功能实现
3.1GUI界面设计
本设计中界面采用MATLAB编程语言设计。
在命令行输入guide,点击回车,进去guide
界面之后,在新建GUI界面中选择“BlankGUI(Default)”,勾选设置图形文件保存的路径。
图3-1GUI界面设计
在GUI制作界面,左侧是控件和组件栏,可以拖动这些组件到界面上。
拖拽buttongroup,pushbutton,坐标系以及静态文本框等。
进行界面布局,如图3-1所示。
3.2各模块功能实现
1.在界面中拖拽两个pushbutton按钮,修改其属性,将string值分别改为“读入图片”、“退出”。
分别写其回调函数:
读入图片:
[filename,pathname]=uigetfile(...
{'*.bmp;*.jpg;*.png;*.tif;*.jpeg','ImageFiles(*.bmp;*.jpg;*.png;*.tif;*.jpeg)';...'*.*', 'AllFiles(*.*)'},...
'PickanImage');axes(handles.axes1);
fpath=[pathnamefilename];img_src=imread(fpath);globalS
S=img_src;imshow(img_src);退出界面:
clc;
closeall;close(gcf);clear;
2.分别创建两个坐标系,一个用来显示原图,一个显示分割处理后的图片。
3.在buttongroup中拖拽五个radiobutton修改其属性,将string值分别改为迭代阈值法,Ostu阈值法、直方图阈值法、区域生长法、区域分裂合并法。
分别写其回调函数:
Otsu阈值法代码:
case'j2'
axes(handles.axes2);globalST=graythresh(S);g=im2bw(S,T);imshow(g);title('otsu阀值法');
直方图阈值法代码:
case'j3'
globalSf=S;I=f;
B=imhist(f);axes(handles.axes2);plot(B);
title('原图直方图');
[m,n]=size(f);
prompt={'选取合适的阀值:
'};defans={'100'};p=inputdlg(prompt,'阀值',1,defans);q=str2num(p{1});
fori=1:
mforj=1:
n
if(I(i,j) I(i,j)=255; elseI(i,j)=0;end endend axes(handles.axes2);imshow(I); title('直方图阈值法');区域分裂生长法代码: case'j5' globalSf=qtdecomp(S,0.2);f2=full(f);axes(handles.axes2);imshow(f2); title('区域分裂合并法'); 第4章设计结果及分析 4.1设计结果 1.迭代阈值法 运行程序,在GUI界面点击读入图片,图片显示在坐标系1中,点击迭代阈值法,处理后的图片显示在坐标系2中。 如图4-1所示。 图4-1迭代阈值法 迭代所得的阈值分割的图象效果良好。 基于迭代的阈值能区分出图像的前景和背景的主要区域所在,但在图像的细微处还没有很好的区分度。 对于直方图双峰明显,谷底较深的图像,迭代方法可以较快地获得满意结果。 但是对于直方图双峰不明显,或图像目标和背景比例差异悬殊,迭代法所选取的阈值不如最大类间方差法。 2.Ostu阈值法 运行程序,在GUI界面点击读入图片,图片显示在坐标系1中,点击Ostu阈值法,处理后的图片显示在坐标系2中。 如图4-2所示。 图4-2Ostu阈值法 不论图像的直方图有无明显的双峰,都能得到较满意的结果。 但此方法依然存在一些不足,主要表现在: 若目标与背景之间灰度差不明显,可能出现大块黑色区域,甚至丢失整幅图像的信息;仅利用一维灰度直方图分布,没有结合图像的空间相关信息,处理效果不好;当图像中有断裂现象或者背景有一定噪声时,无法得到预期效果。 3.直方图阈值法 运行程序,在GUI界面点击读入图片,图片显示在坐标系1中,点击直方图阈值法,处理后的图片显示在坐标系2中。 如图4-3所示。 图4-3直方图阈值法 直方图阈值法对于目标与背景的灰度级有明显差别的图像,通常采用直方图技术来确定阈值,一幅物体与背景对比明显的图像一般具有包含双峰的灰度直方图,物体中的像素产生直方图中的一个峰,而背景产生直方图中的另一个峰。 当分割阈值位于谷底时,图像分割可取得最好的效果,但是最适合阈值不太好确定。 4.区域生长法 运行程序,在GUI界面点击读入图片,图片显示在坐标系1中,点击区域生长法按钮,将其选中,处理后的图片显示在坐标系2中。 如图4-4所示。 图4-4区域生长法 区域生长法的优点是计算简单,对于较均匀的连通目标有较好的分割效果。 它的缺点是需要人为确定种子点,对噪声敏感,可能导致区域内有空洞;如果区域之间的边缘灰度变化很平缓或边缘交于一点时,两个区域会合并起来;另外,它是一种串行算法,当目标较大时,分割速度较慢,因此在设计算法时,要尽量提高效率。 5.区域分裂合并法 运行程序,在GUI界面点击读入图片,图片显示在坐标系1中,点击区域分裂合并法按钮,将其选中,处理后的图片显示在坐标系2中。 如图4-5所示。 图4-5区域分裂合并法 区域分裂合并法的关键是分裂合并准则的设计。 这种方法对复杂图像的分割效果较好,但算法较复杂,计算量大,分裂还可能破坏区域的边界。 4.2设计结果分析 1.阈值分割法与区域分割法对比分析 基于阈值的图像分割方法适用于目标与背景在灰度上有较强对比度,且目标与背景的灰度比较单一的图像,这种情况下,它总能提取闭合且连通的区域边界。 它是一种简单有效的图像分割方法,具有计算简单、容易实现的优点。 它的缺点是没有或很少考虑空间关系,使多阈值选择受到限制。 当背景复杂时,基于阈值的图像分割方法会失效。 基于区域的图像分割方法利用图像的空间性质,认为分割出来的属于同一区域的像素应具有相似的性质。 对图像分割算法的研究已有几十年的历史,借助各种理论至今已提出了上千种各种类型的分割算法。 尽管人们在图像分割方面做了许多研究工作。 但由于尚无通用分割理论,因此现已提出的分割算法大都是针对具体问题的,并没有一种适合于所有图像的通用的分割算法。 但是可以看出,图像分割方法正朝着更快速、更精确的方向发展,通过各种新理论和新技术结合将不断取得突破和进展。 总结 为期一周的课程设计很快完结,在这次课设中我学到了很多课堂里没有掌握的知识。 我认为,实际操作不仅是对课堂所学理论知识的检验,也是对理论知识的一种提高和巩固,让我更透彻的理解书本上的理论,将理论和实际紧密的结合了起来。 在课程设计过程中,我们遇到了很多问题,在老师的指导和同学的帮助下我们都一一解决了。 本次课程设计我不仅巩固了数字图像处理这门课程中的很多重点知识,也巩固了MATLAB更多的使用方法。 尤其是对GUI界面的制作,让我感觉重新打开了MATLAB的大门,这个过程中我感受到了非常多的乐趣,并且我相信这个过程中所学习到的所有知识都将对我以后就业来说是一笔财富。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 课程设计 图像 区域 分割 系统 设计