- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器视觉之二值图像算法
机器视觉之二值图像算法
从背景中分离出物体是一个困难的问题,在此将不讨论这个问题。这里假设物体可以从背景中分离,并且使用某一谓词,可以对图像中属于物体的点进行标记。因此,问题就变为如何将一幅图像中所有被标记的点组合成物体图像。这里还假设物体点在空间上是非常接近的。利用空间接近概念可以严格定义,利用此定义研究的算法可以把空间上非常接近的点聚合在一起,构成图像的一个成分(component)。下面首先引进一些定义,然后讨论有关算法。
3.5.1定义
1.近邻
在数字图像中,一个象素在空间上可能非常接近其它一些象素。在用网格表示的数字图像中,一个象素与其它四个象素有公共边界,并与另外四个象素共享顶角。如果两个象素有公共边界,则称它们互为4邻点(4-neighbors).同样,如果两个象素至少共享一个顶角,则称它们互为8邻点。例如,位于[i,j]的象素有四个4邻点:[i-1,j],[i+1,j],[i,j-1],[i,j+1]。它的8邻点包括这四个4邻点,再加上[i-1,j-1],[i + 1,j-1」,[i-1, j + 1],[i + 1,j+ 1]。一个象素被认为与它的4邻点是4连通(4-conneeted)关系,与它的8 邻点是8连通关系(如图3.7)。
2.路径
3.前景
图像中值为1的全部象素的集合称为前景(foreground),用S表示。
4.连通性
5.连通成分
一个象素集合,如果集合内的每一个象素与集合内其它象素连通,则称该集合为一个
连通成分(connected component)。
6.背景
S( S的补集)中包含图像边界点的所有连通成份的集合称为背景(background)。 S中所有其它元称为洞。考虑下面的两个图像。
首先看左图中有几个洞和几个物体。如果从前景和背景来考虑4连通,有四个大小为一个象素的物体和一个洞。如果考虑8连通,那么有个物体而没有洞。直观地,在这两种情况下出现了不确定性情况。右图为另一个类似的不确定问题。其中如果1是连通的,那么0 就应该是不连通的。
为了避免这种难以处理的情况,对物体和背景应使用不同的连通。如果对S使用8连通,那么对S就应用4连通。
7.边界
S的边界(boundary)是S中与中有4连通关系的象素集合。边界通常记为S。
8.内部
内部(interior)是S中不属于它的边界的象素集合.S的内部等于S-S。
9.包围
如果从S中任意一点到图像边界的4路径必须与区域T相交,则区域T包围 (surrounds)区域S(或S在T内)。图3.9即为一幅简单二值图像和它的边界、内部、包围示意图。
3.5.2连通成分标记
在一幅图像中找出连通成分是机器视觉中最常见的运算之一。连通区域内的点构成表示物体的候选区域。机器视觉中的大多数物体都有表面,显然,物体表面点投影到图像平面上会形成空间上密集的点集。这里应该指出,连通成分算法常常会在值视觉系统中形成瓶颈效应,原因是连通成分运算是一个全局性的运算,这种算法在本质上是序贯的。 如果图像中仅有一个物体,那么找连通成分就没有必要;如果图像中有许多物体,且需要求出物体的特性与位置,则必须确定连通成分。
连通标记算法可以找到图像中的所有连通成分,并对同连通成分中的所有点分配同一标记。图3.10表示的是一幅图像和已标记的连通成分。在很多应用中,要求在标记连通成分的同时算出连通成分的特征,如尺寸、位置、方向和外接矩形。下面介绍两种连通成分标记算法:递归算法和序惯算法[Jain 1995]。
1.递归算法
递归算法在串行处理器上的计算效率是很低的,因此,这一算法主要用于并行机上。
算法3.1连通成分递归算法
①扫描图像,找到没有标记的1点,给它分配一个新的标记L;
②递归分配标记L给1点的邻点;
③如果不存在没标记的点,则停止;
返回第①步。
2.序贯算法
序惯算法通常要求对图像进行二次处理。由于这一算法一次仅运算图像的两行,因此当图像以文件形式存贮且空间不允许把整幅图像载入内存时也能使用这一算法。这一算法(见算法3.2)可以查看某一点的邻点,并且可以给象素值为1的邻点分配个已经使用过
的标记。如果图像的邻点有两种不同的标记,则叫一个等价表(equivalent table)来记录所有的等价标记。在第二次处理过程中,使用这一等价表來给某连通成分中所有象素点分配唯一的标记。
本算法从左到右、从上到下扫描图像时,算法仅能查询到某象素点的4邻点中的两个邻点,即上点与左点。设算法已经查到了该象素的这两个邻点,此时出现三种情况:① 如果这两个邻点中没有一点为1,则该象素需要一个新的标记。②如果这两个邻点中只有一点为1,且分配了标记为L,那么该象素点的标记也为L。③如果这两个邻点都为1,且已分配了标记L,则该象素点的标记还是L;但是当邻点被分配了不同标记M与
文档评论(0)