- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像的区域分割 1、图像区域分割定义 5.3 图像的四叉树分解 5.4 图像的纹理分析 熵是一种随机性度量,图像粗糙区域的熵也比较高。熵的定义如下: (5-6) 其中, 表示图像的直方图数据,L表示灰度级。 * 图 像 处 理 图像区域分割不同于图像的轮廓提取。 图像区域分割更注重于图像各个区域内的像素值的有机联系。 仅凭图像本身的灰度变化进行分割也许是不够的,还需要借助于识别主体(程序)中的“知识”,要借助于反馈操作。 用R表示整个图像区域。区域分割是把R分成n个子区域R1、R2、R3…Rn,使这些子区域满足下面条件: 。 是一个连通区域, ,对所有的i和j, 。 ,对 。 ,对任意邻接区域 和 。 其中 是定义在集合 中的点上的逻辑谓词, 是空集。 2、灰度阈值分割方法 【例5-27】根据灰度直方图确定一个阈值,分离图像的前景与背景。 A= imread(D:\0043.jpg); B= rgb2gray(A); subplot(1,2,1); imshow(B) B=double(B); subplot(1,2,2); hist(B) 观察图5-26中的图像与它的直方图,大量像素集中在100与200之间,在0到100之间还有一个小峰值。经过观察取阈值为80,使用下面程序进行图像背景分离。这种方法就是有些参考书上所说的双峰法。 图5-26 图像与它的直方图 I = imread(D:\0043.jpg); level=80/255; BW = im2bw(I,level); imshow(BW) 从图上图来看,基本把前景与背景分离出来。分离的效果与阈值参数level的选取有直接关系。语句level=80/255就决定了小于等于80的像素点置0,大于80的像素点置1。Level的大小直接影响分离的效果。 下面例题给出了自动确定阈值的方法,即迭代确定阈值方法。 【例5-28】迭代方法确定阈值。 A= imread(D:\0043.jpg); B= rgb2gray(A); T=0.5*(double(min(B(:)))+double(max(B(:)))); d=false; while ~d g=B=T; Tn=0.5*(mean(B(g))+mean(B(~g))); d=abs(T-Tn)0.5; T=Tn; end T 程序运行结果为:T =129.8422 T=0.5*(double(min(B(:)))+double(max(B(:))));为变量T赋初值,首先使用B(:)把B中元素排成一列,然后把B的最大值与最小值相加再乘以0.5。 逻辑变量d的初值设为false。在循环语句的迭代过程中,每次都要给d赋新值,然后在whlie语句处检查d的真假。当d为真时,也就是当abs(T-Tn)0.5时结束循环。 语句g=B=T中,B=T返回一个0,1逻辑矩阵,然后把这个逻辑矩阵赋给g,g的维数与B相同。B中元素如果大于T那么在相应位置上矩阵g的元素为1,否则g的元素为0。 语句Tn=0.5*(mean(B(g))+mean(B(~g)))中,B(g)按照g的非0元素位置提取出B的元素构成一个列向量,B(~g)是按照g的0元素位置提取出B的元素构成一个列向量。然后计算最大最小值的均值赋给Tn。 MATLAB提供了确定阈值的函数graythresh,使用该函数输入命令: T1=graythresh(B)*255 得结果:T1=131 与例题运行结果相近 分水岭分割算法,是一种基于拓扑理论的数学形态学的分割算法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。 3、分水岭分割函数watershed 分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。 【例5-29】分水岭函数watershed的使用。 A= imread(D:\shouxieshuzi.bmp); B=watershed(A); subplot(1,2,1); imshow(A) subplot(1,2,2); imshow(B) Matlab提供了一个分水岭函数watershed,可以使用这个函数对图像进行区域分割。 图像四叉树分解就是把
您可能关注的文档
最近下载
- HG╱T 3655-2012 紫外光(UV)固化木器涂料.pdf
- 人民警察警示教育观看心得.docx VIP
- Q-GDW-智能变电站辅助控制系统设计技术规范.pdf
- 外教社2023中国文化英语综合教程 上册 Unit 3 PPT课件(试用版).pptx
- 乡镇临床执业助理医师:甲状腺功能亢进症考试题.docx VIP
- 冀教版七年级上册数学《角的大小》教学说课研讨课件复习.pptx VIP
- 全国智能制造应用技术技能竞赛题及答案.doc VIP
- 智慧园区管理平台建设方案.pdf
- XX职业技术学院关于大数据与会计专业实习的实施方案.docx
- GBT 50034-2024 建筑照明设计标准.docx VIP
文档评论(0)