一种链码与图论技术相结合的图像曲线提取方法技术

技术编号:13972101 阅读:46 留言:0更新日期:2016-11-10 21:54
本发明专利技术公开了一种链码与图论技术相结合的图像曲线提取方法。本发明专利技术利用链码方式提取线段有序点,然后根据所有线段的端点、不同线段的交点,利用图论技术对所有线段进行重组,最终得到所有连续曲线的有序序列。相交曲线会产生不同路径的闭合和非闭合曲线,这会大大增加提取难度,本发明专利技术利用图论技术解决了该相交技术难题,克服了现有方法的不足;同时采用链码方式提取曲线,中间数据存储是采用自己实现的动态数组,从而增加了处理断点连续的能力,达到了很好的效果。

【技术实现步骤摘要】

本专利技术属于计算机视觉领域,涉及到图像中曲线的提取方法,特别涉及到链码与图论技术相结合的图像曲线提取方法
技术介绍
曲线提取是计算机视觉领域的一个基本问题,有着重要的理论意义和广泛的应用价值,可以应用在图像处理中,其中包括一些工业应用中。通过链码方式得到曲线序列已经有过很多的研究,但是对于图像中不同曲线相交的情况,这方面研究甚少。目前常用的图像曲线提取方法有基于EM迭代的曲线提取算法,EM算法是机器学习、模式分类领域用于重估特征分布参数的重要方法。该算法主要通过两个步骤来实现,首先是E步骤(Expectation,利用现有样本对未知变量分布进行估计),利用两个先验点采用切线导向法预测出下一个目标点。之后是M步骤(Maximum,对位置变量的分布进行最大后验估计),对目标点的坐标进行调整优化,将搜索到的黑游程正中间的点作为最终目标点。还有提取算法是扫描图像曲线轮廓关键点及其提取处理算法,该算法可自动逐行检测扫描行中的黑游程,当相继行中的黑游程满足一定的条件准则时即可取出相应的黑游程边界点,并形成关键点,依据这些关键点,利用B样条曲线理论来拟合曲线,最终即可实现对图像曲线的提取。这两种方法的缺点是搜索过程复杂,计算量大并且计算过程复杂,当交叉曲线过多的时,不利于提取,并且没有进行断点连续处理的能力。中国科学院深圳先进技术研究院的专利,申请号为CN2013104444859,“图像特征曲线提取方法及系统”,提出了一种图像特征曲线提取方法,通过近似曲线和调和向量场得到最优的特征曲线。优点是得到的图像特征曲线能够保证光滑和弯曲特征,缺点是会出现失真,不能原原本本还原成原曲线,不适应对大规模曲线相交情况,同时也没有考虑到断点连续问题。
技术实现思路
为了克服上述现有技术的问题,本专利技术提供了一种链码与图论技术相结合的图像曲线提取方法。本专利技术提供了一种链码与图论技术相结合的图像曲线提取方法,包括:步骤100,利用MATLAB工具库对图像进行预处理,得到单一像素宽度的二值图。步骤200,对步骤100所得的二值图进行扫描,并对扫描后所得图像上每个灰度值非0的像素点进行处理,得到端点数组D1、交点数组J1和结果图,具体过程如下:步骤201,如果灰度值非0的像素点周围的8邻域中没有灰度值为非0的像素点,则该像素点为孤立的噪声点,让其灰度值为0去除噪声点。步骤202,如果灰度值非0的像素点周围的8邻域内只有一个灰度值为255的像素点,则该像素点为曲线的端点,将这些端点保存到端点数组D1中。步骤203,如果灰度值非0的像素点周围的8邻域中灰度值为255的像素点的数目大于等于3,则该像素点为曲线相交处的交点,将这些交点保存到交点数组J1中;去除曲线中这些交点,得到结果图。步骤300,处理步骤200所得结果图,得到端点数组D2,并提取连接端点的曲线段,具体过程如下:步骤301,扫描步骤200所得的结果图,得到所有端点,将这些端点保存到端点数组D2中。步骤302,对于步骤200所得结果图,利用步骤301所得端点数组D2以及8邻域链码方式,即8邻域顺时针搜索,根据端点搜索以及曲线中点的连通关系将所有连接端点的曲线段序列有序化提取出来,这些曲线段都是非闭合曲线。步骤400,对步骤203所得交点数组J1进行分类,得到交点数组J2;提取连接端点与交点的曲线段,并添加到相应的曲线中,具体过程如下:步骤401,利用8邻域链码方式将交点数组J1中所有邻域连通的交点归为一类,从而得到若干类交点集合;对于每一类交点集合,统计其中每个交点周围8邻域中点的个数,选择个数最多的交点作为中心交点,将这些中心交点保存到交点数组J2中。步骤402,将步骤401所得的若干类交点集合与交点数组J2进行组合,并通过曲线首末端点的8领域搜索每一类交点集合,在交点集合找到后,提取相应中心交点到曲线端点的曲线段,把曲线段添加到对应的曲线中;组合过程中,通过外部给定设置的半径参数,使得尽可能多的不连接但相互间距离小于直径的端点包含在同一个圆中,圆心坐标为所有端点的中心点,所述中心点为所有端点的横纵坐标的平均值,这种圆心是新产生的交点;更新端点数组D2,即从端点数组D2中去除这些端点,同时更新交点数组J2,即把这些端点加到交点数组J2中;提取圆心到所有端点的曲线段,并将曲线段添加到相应的曲线中。步骤500,将步骤400所得的全部曲线转化成图的结构,获取所有顶点之间的路径,具体过程如下:步骤501,将步骤400所得曲线的首末端点转化成图的顶点,曲线转化成图的边,相同端点的不同曲线用不同的边表示,端点和边都用数字进行编号,得到由边和点组成的图;图的顶点编号和图的边编号唯一,两顶点之间有多条边;步骤502,生成一个曲线首末端点到编号的映射,同时生成端点数组D2和交点数组J2到数字编号的映射;步骤503,通过栈实现深度优先遍历函数获取所有顶点之间的路径,闭合曲线是从端点到端点,非闭合曲线是从交点到交点,顺序不同但是边和点相同的路径是同一条路径。步骤600,根据步骤501所得图顶点和图边的编号及步骤502所得映射,将步骤503所得全部路径还原成曲线,实现曲线重组,进而得到需要的闭合和非闭合曲线,每一条曲线都是由有序序列点组成,所有曲线放进曲线链表中,输出是曲线结构体链表序列。有益效果:本专利技术利用链码方式提取线段有序点,然后根据所有线段的端点、不同线段的交点,利用图论技术对所有线段进行重组,最终得到所有连续曲线的有序序列;利用图论技术解决了相交曲线会产生不同路径的闭合和非闭合曲线这一技术难题,克服了现有方法的不足。同时采用链码方式提取曲线,中间数据存储是采用自己实现的动态数组,从而增加了处理断点连续的能力,达到了很好的效果。附图说明图1是非闭合曲线和闭合曲线相交测试图。图2是非闭合曲线和闭合曲线相交测试结果图一。图3是非闭合曲线和闭合曲线相交测试结果图二。图4是非闭合曲线和闭合曲线相交测试结果图三。图5是非闭合曲线和闭合曲线相交测试结果图四。图6是非闭合曲线和闭合曲线相交测试结果图五。图7是非闭合曲线和闭合曲线相交测试结果图六。其中,图1是第一张输入测试图像,经过方法处理得到了3条非闭合曲线和3条闭合曲线。把结果曲线序列输出到图像得到了6幅结果图像。图2是图1处理后得到第一条非闭合曲线转化成的结果图,图3是图1处理后得到的第二条非闭合曲线转化成的结果图,图4是图1处理后得到的第三条非闭合曲线转化成的结果图,图5是图1处理后得到的第一条闭合曲线转化成的结果图,图6是图1处理后得到的第二条闭合曲线转化成的结果图,图7是图1处理后得到的第三条闭合曲线转化成的结果图。图8是闭合曲线相交测试图。图9是闭合曲线相交测试结果图一。图10是闭合曲线相交测试结果图二。图11是闭合曲线相交测试结果图三。图12是闭合曲线相交测试结果图四。图13是闭合曲线相交测试结果图五。图14是闭合曲线相交测试结果图六。其中,图8是第二张输入测试图像,经过方法处理得到了6条闭合曲线。把结果曲线序列输出到图像得到了6幅结果图像。图9是图8处理后得到的第一条闭合曲线转化成的结果图,图10是图8处理后得到的第二条闭合曲线转化成的结果图,图11是图8处理后得到的第三条闭合曲线转化成的结果图,图12是图8处理后得到的第四条闭合本文档来自技高网
...

【技术保护点】
一种链码与图论技术相结合的图像曲线提取方法,其特征在于,所述链码与图论技术相结合的图像曲线提取方法包括:步骤100,利用MATLAB工具库对图像进行预处理,得到单一像素宽度的二值图;步骤200,对步骤100所得的二值图进行扫描,并对扫描后所得图像上每个灰度值非0的像素点进行处理,得到端点数组D1、交点数组J1和结果图,具体过程如下:步骤201,如果灰度值非0的像素点周围的8邻域中没有灰度值为非0的像素点,则该像素点为孤立的噪声点,让其灰度值为0去除噪声点;步骤202,如果灰度值非0的像素点周围的8邻域内只有一个灰度值为255的像素点,则该像素点为曲线的端点,将这些端点保存到端点数组D1中;步骤203,如果灰度值非0的像素点周围的8邻域中灰度值为255的像素点的数目大于等于3,则该像素点为曲线相交处的交点,将这些交点保存到交点数组J1中;去除曲线中这些交点,得到结果图;步骤300,处理步骤200所得结果图,得到端点数组D2,并提取连接端点的曲线段,具体过程如下:步骤301,扫描步骤200所得的结果图,得到所有端点,将这些端点保存到端点数组D2中;步骤302,对于步骤200所得结果图,利用步骤301所得端点数组D2以及8邻域链码方式,即8邻域顺时针搜索,根据端点搜索以及曲线中点的连通关系将所有连接端点的曲线段序列有序化提取出来,这些曲线段都是非闭合曲线;步骤400,对步骤203所得交点数组J1进行分类,得到交点数组J2;提取连接端点与交点的曲线段,并添加到相应的曲线中,具体过程如下:步骤401,利用8邻域链码方式将交点数组J1中所有邻域连通的交点归为一类,从而得到若干类交点集合;对于每一类交点集合,统计其中每个交点周围8邻域中点的个数,选择个数最多的交点作为中心交点,将这些中心交点保存到交点数组J2中;步骤402,将步骤401所得的若干类交点集合与交点数组J2进行组合,并通过曲线首末端点的8领域搜索每一类交点集合,在交点集合找到后,提取相应中心交点到曲线端点的曲线段,把曲线段添加到对应的曲线中;组合过程中,通过外部给定设置的半径参数,使得尽可能多的不连接但相互间距离小于直径的端点包含在同一个圆中,圆心坐标为所有端点的中心点,所述中心点为所有端点的横纵坐标的平均值,这种圆心是新产生的交点;更新端点数组D2,即从端点数组D2中去除这些端点,同时更新交点数组J2,即把这些端点加到交点数组J2中;提取圆心到所有端点的曲线段,并将曲线段添加到相应的曲线中;步骤500,将步骤400所得的全部曲线转化成图的结构,获取所有顶点之间的路径,具体过程如下:步骤501,将步骤400所得曲线的首末端点转化成图的顶点,曲线转化成图的边,相同端点的不同曲线用不同的边表示,端点和边都用数字进行编号,得到由边和点组成的图;图的顶点编号和图的边编号唯一,两顶点之间有多条边;步骤502,生成一个曲线首末端点到编号的映射,同时生成端点数组D2和交点数组J2到数字编号的映射;步骤503,通过栈实现深度优先遍历函数获取所有顶点之间的路径,闭合曲线是从端点到端点,非闭合曲线是从交点到交点,顺序不同但是边和点相同的路径是同一条路径;步骤600,根据步骤501所得图顶点和图边的编号及步骤502所得映射,将步骤503所得全部路径还原成曲线,实现曲线重组,进而得到需要的闭合和非闭合曲线,每一条曲线都是由有序序列点组成,所有曲线放进曲线链表中,输出是曲线结构体链表序列。...

【技术特征摘要】
1.一种链码与图论技术相结合的图像曲线提取方法,其特征在于,所述链码与图论技术相结合的图像曲线提取方法包括:步骤100,利用MATLAB工具库对图像进行预处理,得到单一像素宽度的二值图;步骤200,对步骤100所得的二值图进行扫描,并对扫描后所得图像上每个灰度值非0的像素点进行处理,得到端点数组D1、交点数组J1和结果图,具体过程如下:步骤201,如果灰度值非0的像素点周围的8邻域中没有灰度值为非0的像素点,则该像素点为孤立的噪声点,让其灰度值为0去除噪声点;步骤202,如果灰度值非0的像素点周围的8邻域内只有一个灰度值为255的像素点,则该像素点为曲线的端点,将这些端点保存到端点数组D1中;步骤203,如果灰度值非0的像素点周围的8邻域中灰度值为255的像素点的数目大于等于3,则该像素点为曲线相交处的交点,将这些交点保存到交点数组J1中;去除曲线中这些交点,得到结果图;步骤300,处理步骤200所得结果图,得到端点数组D2,并提取连接端点的曲线段,具体过程如下:步骤301,扫描步骤200所得的结果图,得到所有端点,将这些端点保存到端点数组D2中;步骤302,对于步骤200所得结果图,利用步骤301所得端点数组D2以及8邻域链码方式,即8邻域顺时针搜索,根据端点搜索以及曲线中点的连通关系将所有连接端点的曲线段序列有序化提取出来,这些曲线段都是非闭合曲线;步骤400,对步骤203所得交点数组J1进行分类,得到交点数组J2;提取连接端点与交点的曲线段,并添加到相应的曲线中,具体过程如下:步骤401,利用8邻域链码方式将交点数组J1中所有邻域连通的交点归为一类,从而得到若干类交点集合;对于每一类交点集合,统计其中每个...

【专利技术属性】
技术研发人员:贾棋徐秀娟许真珍赵小薇王倩王宇新刘斌
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1