- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_图像分割
无论是图像处理、分析、理解与识别,其基础工作一般都建立在图像分割的基础上; 将图像中有意义的特征或者应用所需要的特征信息提取出来; 图像分割的最终结果是将图像分解成一些具有某种特征的单元,称为图像的基元; 相对于整幅图像来说,这种图像基元更容易被快速处理。 图像分割的依据 图像局部特征的相似性和互斥性 图像特征 图像特征是指图像中可用作标志的属性,它可以分为统计特征和视觉特征两类。 图像的统计特征是指一些人为定义的特征,通过变换才能得到,如图像的直方图、矩、频谱等; 图像的视觉特征是指人的视觉可直接感受到的自然特征,如区域的亮度、纹理或轮廓等。 3)图像分割的基本原理 图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。 如不同目标物体所占的图像区域、前景所占的图像区域等; 连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径; 对于离散图像而言,连通有4连通和8连通之分,如图所示。 物体边缘的作用 边缘的类型 尽管边缘在数字图像处理和分析中具有重要作用,但是到目前为止,还没有关于边缘的被广泛接受和认可的精确的数学定义。 一方面是因为图像的内容非常复杂,很难用纯数学的方法进行描述,另一方面则是因为人类对本身感知目标边界的高层视觉机理的认识在还处于善之中。 目前,具有对边缘的描述性定义,即两个具有不同灰度的均匀图像区域的边界。 局部边缘是图像中局部灰度级以简单(即单调)的方式作极快变换的小区域。这种局部变化可用一定窗口运算的边缘检测算子来检测。 边缘的描述包含以下几个方面 (1) 边缘法线方向——在某点灰度变化最剧烈的方向,与边缘方向垂直; (2) 边缘方向——与边缘法线方向垂直,是目标边界的切线方向; (3) 边缘强度——沿边缘法线方向图像局部的变化强度的量度。 一般认为沿边缘方向的灰度变化比较平缓,而边缘法线方向的灰度变化比较剧烈。图像上的边缘点可能对应不同的物理意义。 罗伯特边缘算子 罗伯特(Robert)梯度采用对角方向相邻两像素值之差 Robert算子边缘检测结果 普瑞维特边缘算子 Prewitt算子边缘检测结果 索贝尔边缘算子 Sobel算子边缘检测结果 Laplacian算子边缘检测结果 边缘线跟踪 3 阈值法 原理 如果图像含有两个以上不同类型的区域,可以使用多个阈值。 对于照度不均匀的图像,一般先用同态滤波校正灰度,然后用阈值法。 阈值的选取 1)根据直方图谷点确定阈值 首先统计最简单图像的灰度直方图; 若直方图呈双峰且有明显的谷,则将谷所对应的灰度值作为阈值。 适用场合: 适用于目标和背景的灰度差较大,有明显谷的情况。 为便于阈值的选取,可采用灰度加权产生新的直方图,得到更大的峰谷比。 2) 判断分析法 假定最简单图像f(x,y)灰度区间为[0,L-1],选择一阈值t将图像的像素分为c1和c2两组。 图像总像素数为 w1+w2 灰度平均值为 则组内方差为 组间方差为 组内方差越小则组内像素越相似;组间方差越大则两组的差别越大。 ,其值越大,分割效果越好。 改变t的取值,使 k 最大所对应的t就是分割的阈值。 令 3) 最小误差分割 设图像中感兴趣目标的像素灰度级服从正态分布,概率密度为P1(x),均值和方差分别为μ1和σ12 ;背景点的灰度级服从正态分布,密度为P2(x) ,均值和方差分别为μ2 和σ22 。 设目标的像素数占图像总像素数的百分比为θ,背景点占1-θ,则混合概率密度为: 当选定阈值为t时,目标点错划为背景点的概率为: 背景点错分为目标点的概率为: 则总错误概率为: 为了使这个误差最小,可令 得出: 当 常用的边缘提取算子 prewitt算子: Sobel子: Laplacian算子 Laplacian-guass算子: Kirsch算子 四方向算子: Matlab相关函数 edge 格式: BW=edge(I,’模板名’,thresh) 功能:根据指定的阈值和模板对灰度图像进行边缘检测。若thresh为空,则自动选择阈值。 以Roberts算子为例: BW = edge(I,roberts) BW = edge(I,roberts,thresh) [BW,thresh] = edge(I,roberts,...) 可以是Sobel、Prewitt、LOG、canny、zerocross等算子 I = imread(circuit.tif);
BW1 = edge
文档评论(0)