一种用于处理二值图像无孔区域周长的方法

文档序号:6460650阅读:547来源:国知局
专利名称:一种用于处理二值图像无孔区域周长的方法
技术领域
本发明涉及的是一种数字图像处理技术。公开了一种计算二值图像无孔区域 周长的计算方法。
背景技术
区域的周长是区域的重要特征之一,周长参数在模式识别当中有着广泛而 重要的应用,因此区域周长的计算成为了特征提取的重要内容之一。基于图像的周长精密测量(电脑开发与应用.第19巻,第4期.34~38页.2006 年)中公开的方法,基于Sobel的改进算法和二次多项式插值法相结合得到亚像 素级边缘,利用多边形周长近似计算得到圆周长,该算法应用于小尺寸图像测量 系统。金属图像处理算法的研究(北京理工大学学报.第20巻,第6期,668 671 页,2000年)中公开的方法,研究提高金属图像面积和周长的计算精度,对计 算图像像素的经典链码方法加以改进,利用改进的链码方法计算图像的周长和面 积时考虑了图像边界的拐点和小的锯齿边,利用本算法图像面积和周长的计算 误差最大不超过2%。利用四元树结构计算黑白二值图像周长的方法(计算机工 程.第31巻,第18期.169~171页,2005年)中提出一种基于四元树数据结构的算 法,计算黑白二值图像周长。A Probability Model for Simple Closed Random Curves (IEEETransONInformationTheory,Vol. IT陽27,NO. 3,376~381. 1981)中,利 用Gibssian模型计算在离散方格上的简单闭合曲线的平均周长。 发明内容本发明的目的在于提供一种可快速、有效地得出二值图像中各无孔区域的周 长的方法。本发明的目的是这样实现的1、 读入一幅无孔二值图像,将其存入一个二维数组A中;2、 对二值图像数组A进行标记,得到标记图像并存入二维数组B中;3、 把区域个数寄存器Accounter,周长P和已计算完的区域个数k初始化 为0,为B的每一个标号区域开辟一个数据结构,该数结构包含一个计数器和 一个寄存器,分别为对应标号的己扫描边界像素数计数器ScanedCounter,边 界像素个数寄存器PixelAccounter,将各个数据结构的计数器和寄存器初始化为O;4、 计算标记图像B中各无孔区域的边界像素数,并将其存入对应的 PixelAccounter寄存器中;5、 k对应的区域标号为k+l',扫描k对应的标记区域;6、 如果扫描点是该区域的边界点,转入7,否则回到6;7、 将该点标号取反,如果已扫描边界像素数计数器ScanedCounter大于0, 使已扫描边界像素数计数器ScanedCounter自加1;8、 判断该点是否存在相邻边界像素点,如果存在,且该点为4-邻域内的 边界点,使周长P自加1,如果为对角邻点则使周长自加^并使该点成为新的 扫描点,如果不存在相邻边界点则转入9;9、 使周长P自加1,然后判断对应标号的边界像素个数PixelAccounter 是否等于己扫描的边界像素数ScanedCounter,如果相等,转入10,否则转入 5;10、 使k自加1;11、 如果k等于区域个数Accounter,则结束,否则转入5。 本发明还可以包括1、 步骤(3)所述的的已扫描边界像素数计数器ScanedCounter和边界像 素个数寄存器PixelAccounter对于每一个标号都存在这样的计数器和寄存器, 而区域个数寄存器Accounter,周长P和已计算完的区域个数k对于所有标号 都是唯一的。2、 步骤(4)所述的边界像素个数是指用8-连通定义的边界像素总数。3、 步骤(8)所述的相邻边界像素点是指没有被取反的边界像素点,即边 界像素点为正。4、 步骤(9)所述,在判断对应标号的边界像素个数PixelAccounter是否等于已扫描的边界像素数ScanedCoimter之前使周长P自加1。5、 步骤(9)所述的要判断对应标号的边界像素个数PixelAccounter是否等于已扫描的边界像素数ScanedCounter才能决定是否转入(10)。利用本发明所公开的计算二值图像无孔区域周长的方法,可快速、有效地计 算出二值图像中各无孔区域的周长。《基于图像的周长精密测量》一文中在图像预处理部分利用中值滤波器将尖 锐的边缘作为一种非正常情况去掉了,而本发明适应这种情况,能够对尖锐边缘 进行计算。《金属图像处理算法的研究》 一文同样也回避了尖锐边缘的问题,当 出现尖锐边缘时,这两篇文章提出的方法就不适用了,而尖锐边缘恰是图像中经 常出现的情况。


图l为具有标号n的一个无孔区域标记图像;图2为对图1进行边界计算的一个中间步骤; 图3为在图2基础上继续扫'描的一种结果。
具体实施方式
下面结合示意图说明本发明的具体实施方式
。1. 读入一幅二值图像;2. 对其进行标记,假设其中第n个区域的标记如图l所示;3. 初始化各变量Accounter=0, P=0, ki,第n个区域对应的PixelAccounter=0: ScanedAccounter=0;4. 计算各标记区域边界像素点数量,得到第n个区域的PixelAccounte^6;5. 设左上点的坐标为(0, 0),向右为x轴正方向,向下为y轴正方向。下 同。当对标号为n的区域进行扫描时,首先扫描到(0, 0)点,判断其 为边界点,并且存在相邻边界点(1, 0)。将(0, 0)点的标号取反,P 自力口l。将(1, 0)点作,为新的扫描点,如此重复中间的一个歩骤如图2 所示, 一直至!J (2, 1)点,如图3所示。此时Accounter=n-l, P=3, ScanedAccounter=4 , k=4;6. 此时,(2, 1)点没有相邻像素为该区域的边界,P二P+1, P变为4;该点 称为"陷阱点",因为它边界点没有完全被扫描,该点却找不到相邻的边 界点。7. 此时,ScanedAccounter不等于PixelAccounter,对该区域重新进行扫描, 扫描到(0, 1)点,判断ScanedAccounter>0, P-P+1,P变为5;将(0, 1)点标号取反,ScanedAccounter自力[]1,此时ScanedAccounter=5。继 续扫描至(0, 2)点,将该点标号取反,ScanedAccounter自加1,此时 ScanedAccounter=6。此时(0, 2)点没有相邻像素为该区域的边界,执行 P=P+1, P变为6。 ScanedAccounter=PixelAccounter,第n个标记区域周 长计算结束,如此反复, 一直计算完所有的标记区域。8. 本例中最后P=6,而图1所示标记区域的实际周长为4 + 2V^,偏差为 12.13%,在实际计算中偏差是存在的,主要是由于陷阱点的存在所造成 的。由于实际计算时,区域的面积要远大于图l,而且陷阱点个数极少, 甚至没有,存在的偏差时在容许范围之内的。
权利要求
1.一种用于处理二值图像无孔区域周长的方法,其特征在于(1)读入一幅无孔二值图像,将其存入一个二维数组A中;(2)对二值图像数组A进行标记,得到标记图像并存入二维数组B中;(3)把区域个数寄存器Accounter,周长P和已计算完的区域个数k初始化为0,为B的每一个标号区域开辟一个数据结构,该数结构包含一个计数器和一个寄存器,分别为对应标号的已扫描边界像素数计数器ScanedCounter,边界像素个数寄存器PixelAccounter,将各个数据结构的计数器和寄存器初始化为0;(4)计算标记图像B中各无孔区域的边界像素数,并将其存入对应的PixelAccounter寄存器中;(5)k对应的区域标号为k+1,扫描k对应的标记区域;(6)如果扫描点是该区域的边界点,转入7,否则继续扫描;(7)将该点标号取反,如果已扫描边界像素数计数器ScanedCounter大于0,使已扫描边界像素数计数器ScanedCounter自加1;(8)判断该点是否存在相邻边界像素点,如果存在,且该点为4-邻域内的边界点,使周长P自加1;如果为对角邻点则使周长自加,返回(8)并使该点成为新的扫描点。如果不存在相邻边界点则转入9;(9)使周长P自加1,然后判断对应标号的边界像素个数PixelAccounter是否等于已扫描的边界像素数ScanedCounter,如果相等,转入10,否则转入5;(10)使k自加1;(11)如果k等于区域个数Accounter,则结束,否则转入5。
2. 根据权利要求2所述的用于处理二值图像无孔区域周长的方法,其特 征在于步骤(3)所述的的已扫描边界像素数计数器ScanedCounter和边界像 素个数寄存器PixelAccounter对于每一个标号都存在这样的计数器和寄存器, 而区域个数寄存器Accounter,周长P和已计算完的区域个数k对于所有标号 都是唯一的。
3. 根据权利要求3所述的用于处理二值图像无孔区域周长的方法,其特 征在于步骤(4)所述的边界像素个数是指用8-连通定义的边界像素总数。
4. 根据权利要求4所述的用于处理二值图像无孔区域周长的方法,其特 征在于步骤(8)所述的相邻边界像素点是指没有被取反的边界像素点,即边界像素点为正。
5. 根据权利要求5所述的用于处理二值图像无孔区域周长的方法,其特 征在于步骤(9)所述,在判断对应标号的边界像素个数PixelAccounter是 否等于已扫描的边界像素数ScanedCounter之前使周长P自加1。
6. 根据权利要求6所述的用于处理二值图像无孔区域周长的方法,其特 征在于步骤(9)所述的要判断对应标号的边界像素个数PixelAccounter是 否等于已扫描的边界像素数ScanedCounter才能决定是否转入(10)。
全文摘要
本发明涉及数字图像处理技术领域,公开了一种用于计算二值图像无孔区域周长的方法。首先将各无孔区域进行标号,计算各无孔区域的边界像素点个数,然后分别计算各无孔区域周长。在计算各无孔区域周长的过程中,当前边界点如果其8-邻域内没有边界点时要判断已扫描过的像素点数是否等于该区域的边界点像素个数,以防止错误的结束扫描而得到错误的计算结果。
文档编号G06T7/00GK101236652SQ20081006406
公开日2008年8月6日 申请日期2008年3月3日 优先权日2008年3月3日
发明者卞红雨, 朱殿尧, 沈郑燕, 王广新 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1