- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种二值图像连通区域标记简单快速算法
一种二值图像连通区域标记简单快速算法摘要: 针对传统二值图像连通区域标记需要对图像进行两次扫描的缺点,提出了一钟新的二值图像连通区域标记算法。算法借助创建一与图像等大的标记矩阵,通过深度优先有哪些信誉好的足球投注网站算法对图像进行一次扫描后,将标记编号记录在标记矩阵中。此算法不受连通区域的形状和面积影响,表现出了良好的鲁棒性。最后通过OpenCV对该算法进行了实现并与传统标记算法进行了时间性能比较。
Abstract: A new connected component labeling algorithm was proposed for improving of traditional algorithm for it need twice scanning of image. Algorithm need a matrix with the same size of image, the label recorded in the matrix by a depth—first search on the image. This algorithm is not affected by the shape and area of the connected component. Finally, implement the Algorithm by OpenCV and compare it with the traditional algorithm in the aspect of time efficiency.
关键词: 二值图像连通区域标记;标记算法;矩阵
Key words: connected component labeling for binary image;labeling algorithm;matrix
中图分类号:TP31 文献标识码:A 文章编号:1006—4311(2012)28—0232—02
0 引言
二值图像连通区域标记是从仅由表示背景的“0”像素和表示前景的“1”像素组成的图像中将相互邻接的(4邻域邻接和8邻域邻接)的连通区域用唯一的标记编号进行标记。这种操作是图像处理中的一个基本操作,可以用模式识别、OCR、图像标注、图像检索等方面。
1 传统标记算法
传统标记的算法主要有以下几种:第一种方法是边缘检测和内部填充法。这种算法先对二值图像进行边缘检测然后对封闭的边缘内部进行标号填充,这种方法需要对图像进行两次处理,时间效率不高。而且在4邻域的情况下会把非常靠近的两个连通区域标记为相同的标号。第二种方法是跟综算法。对每个目标点标记一个与其坐标相关的标号,反复对图像进行扫描,将每个像素的标号更改为其领域内的最小编号。第三种是顺序标记法。对图像进行两次扫描,对未作标记的像素的标记从其领域获得。这种算法可能会在第一次扫描完时,同一领域中出现不同的标记编号,需要构造标记冲突表进行解决。第四种是递归法。逐个遍历像素点,碰到未被标记的前景像素点时对其进行标记,并递归处理其未被标记的邻接像素点。只到递归调用结束时即表示一个连通区域被标记结束。该方法实现简单,但是当图像上存在大面积的连通区域时算法将会是一个深度递归,即容易导致内存栈溢出。
2 本文算法
2.1 算法描述 本文提出一种基于区域生长的广度优先标记算法。算法中我们需要定义一个和二值图像具有想同行列数的标记矩阵来存放我们的标记结果。首先将这个标记矩阵初始化为0。等算法结束时,标记矩阵中将存放由0到连通区域个数的整数。其中0表示对应行列处为图像的背景像素,其它值表示被标记的图像中的连通区域的编号。如表1所示的标记矩阵表示的标记矩阵表示对应的图像中有五个连通区域。根据该标记矩阵可以很容易的求出原图像中各个连通区域的面积,边界,重心等一些重要的图像特征参数。
算法首先对图像进行逐像素扫描,扫描到某个像素时,首先判断是不是背景像素。如果是背景像素,只接跳过该像素处理下一个像素。如果是前景像素,先判断该像素是否已被标记过,判断标准就是对应位置的标记矩阵值。如果值为0则表示该位置未被标记。对于未被标记的像素则对其进行标记,标记完了需要判断该像素的邻接像素是否未被标记。如果未被标记,对其标记上相同的标记编号。然后判断邻接像素的邻接像素,只到没有邻接像素为止。
从以上算法描述来看是一个递归的思想,通过编写一个处理像素的递归函数来实现以上算法是比较容易的。但是如果图像中的连通区域面积比较大时,算法处理将是一个深度递归。极其容易造成栈溢出。所以本文设计的算法借助一个队列将这种递归的思想转换为叠代的思想。每次扫描到一个未标记像素时将该像素入队列,然后对队头像素进行标记,再将其未标记的邻接像素也入队列并标记,最后删除队头像素,如此叠代循环
文档评论(0)