一种二值线形图像移动圆矢量化方法,属计算机数字图像处理技术领域。在线形物图像上画一个圆,在没有分叉的情况下,圆和图像有两条弧相交。连接相交弧的弦并确定弦的中点。让圆心移动到弦的中点,产生新的圆、弦和弦中点,如此重复,形成一系列的弦中点,这些弦中点的连线就是图像中心线。取圆的直径等于弦长乘上一个常数,圆的大小根据局部性质自动调整,考虑线宽、精度、图像边缘噪声枝等3个因素。如果在前进方向碰到多个相交弧段,则出现了线形图像分叉的情况。此时选择其中一个为前进方向,将其余的分叉方向记录进分叉记录表,待处理。本发明专利技术具有精度高、抗噪声能力强、线宽自适应、保留线宽信息、无需细化、交叉点识别能力强等特点。
【技术实现步骤摘要】
本专利技术属于计算机数字图像处理
,具体是一种二值线形图像的矢量化方法。
技术介绍
二值线形图像是工程上常见的图像,如扫面的地形图、林业调查区划线形图等,为 了在地理信息系统等计算机专门软件系统中进一步分析处理,必须进行矢量化。常见的矢 量化方法有1、基于细化的矢量化方法。该类方法的优点是算法简单、比较容易实现,缺点 是丢失了线宽信息、抗噪声能力比较差、不利于人机交互操作。2、基于邻接图的矢量化方 法。该类方法不经细化直接对图形进行识别,抗噪性能明显加强,邻接图结构可节省存储空 间,利用其邻接关系能有效进行线段的特征提取和识别。缺点是难以处理实际图纸中的复 杂情况,这类方法对行程编码扫描方向的依赖性导致斜线矢量化的质量较差。3、正交方向 搜索法。该算法的优点是不经细化,将搜索范围集中于黑像素域,从单像素的判别转为对区 域的搜索。缺点是不适合图像的细线和细微结构的识别处理,特别在线条交叉区域的判断 算法复杂。
技术实现思路
本专利技术需要解决的技术问题是针对现有技术中,二值线形图像矢量化方法的上述不足,提出一个精度高、抗边缘噪声能力强、无需细化、不必遍历所有像素、矢量化过程中自动测量线宽因而对于线宽差别大的图像有很好的自适应性、具有线宽信息、矢量化过程中自动识别轮廓、交叉点判别能力强、既适合全图自动操作也适合进行人机交互操作的二值线形图像移动圆矢量化方法。 解决上述技术问题的技术方案是 (1)用常规方法打开一个二值图像文件; (2)确定矢量化起始点通过鼠标点击图像确定或计算机 自动扫描二值图像确定,若采用后一方法确定,则从图像左上角开始,逐行扫描, 遇到的首个图像像素点作为起始点; (3)通过起始点确定起始圆心a :通过起始点作垂直于横轴的直线,取该直线通过 图像部分的线段中点,过此中点作垂直于纵轴的直线,取纵横两线段中的较短者的中点为 起始圆心,并将纵横两线段中较短的线段长度称为"线段长"; (4)取一大于1的实数K和一大于1的实数入; (5)以线段长的K倍为直径D,以步骤(3)确定的圆心a为圆心画移动圆;画移动 圆时先到圆周坐标查找表中查找直径为D的圆周像素坐标,若查到则将查到的圆周像素坐 标加上移动圆圆心a的像素坐标,得到移动圆的圆周像素坐标;若查不到则用Bresenham算 法生成圆心在原点、直径为D的圆周像素坐标,加上移动圆圆心a的像素坐标,得到移动圆 的圆周像素坐标,同时将直径D和圆心在原点的圆周像素坐标添加到圆周坐标查找表中; (6)确定前进方向对起始圆,设此圆与图像相交有两个弧段,任取其中一个弧段 所在的方向为前进方向,将另一个方向记录进分叉记录表,记录下起始圆心a的坐标和线 段长,获取前进方向弧段的弦;对非起始圆,则两个弧段中有一个与已矢量化部分相交,另 一个不相交,取不相交弧段所在方向为前进方向; (7)连接心弦线确定弦的中点,记录弦中点坐标作为矢量化的节点,连接圆心与 弦中点,得"心弦线"线段; (8)K值调整与否的确定若心弦线跑出图像,则移动圆太大,縮小K值,令K二 k/ 入,按步骤(5)处理;若图像噪声枝严重,则增大K值,令K二k *入,亦按步骤(5)处理; 无需调整K值的则按下一步骤(9)处理; (9)检查是否有分叉若在前进方向有多个相交弧段,则线形图像分叉,应选择其 中一个为前进方向,其余分叉方向记录进分叉记录表,记录各自的弦长作为线段长和弦中 点作为圆心,待处理; (10)线条是否到头或是否遇到已处理部分的检查若没有到头也没有遇到已处 理部分则按步骤(5)处理,否则按步骤(11)处理; (11)若是线条到头,则按步骤(12)处理,若是遇到已处理部分,则前进方向的最 后一条弦和已处理部分相交于一点,在最后一个移动圆内必有一个分叉点a,找出分叉点 a,连接该分叉点和最后一个弦中点;寻找分叉点的方法是设最后一个移动圆圆心坐标为 (xd, yd),分叉记录表中的圆心坐标为(x, y),满足 min 的(x, y)即为所求的分叉点坐标(xa, yj,将分叉点a从分叉记录表中删除,再按 步骤(12)处理; (12)检查分叉记录表是否为空若非空,则在分叉记录表中读取一个分叉点获得 圆心和线段长,并将取中的分叉点在分叉记录表中删除,按步骤(5)处理;否则按下一步骤(13)处理; (13)用鼠标手工点击图像或计算机自动扫描查找新的起始点; (14)若找到新的起始点,按步骤(5)处理,否则按下一步骤(15)处理; (15)根据由所有弦中点组成的节点进行矢量化,消除冗余节点;算法如下对相邻三节点ki,kw,ki+2,用Bresenham画线算法画节点kt和节点ki+2之间的连线,若ki+1刚好在此连线上则删除该节点,否则保留;反复扫描所有节点,直至无节点删除为止; (16)输出结果。 本专利技术的有益效果在于一、精度高。当线形图像为直线时,移动圆和线形图像相 交弧段的弦和线形图像的中心线垂直,这时矢量化结果严格通过中心线,不存在误差。当线 形图像为非直线时,相交弧段的弦和中心线接近垂直,也具有很高的精度。二、抗边缘噪声 能力强。当移动圆直径适当大,就能避免边缘枝、毛剌的干扰。三、无需细化。矢量化过程 中中心线直接提取,无细化过程,不必遍历所有像素。四、对线宽变化具有自适应性。矢量 化过程中通过测定相交弦的长度自动测量线宽因而对于线宽差别大的图像有很好的自适 应性,同时具有线宽信息。五、自动识别轮廓和分叉点。矢量化过程中通过相交弧段的数量 可以自动识别轮廓和分叉点。六、本方法既适合全图自动操作,也适合人机交互操作。附图说明图1为本方法的流程图。 图2为本方法实施例中矢量化开始时选择起始点示意图。 图3为本方法中通过起始点确定起始圆心的示意图。 图4为本方法中确定线段长、前进方向、弦中点、心弦线示意图。 图5为本方法中心弦线跑出图像落入背景,移动圆直径过大示意图。 图6为本方法中噪声枝存在,增大移动圆直径示意图。 图7为本方法中矢量化前进过程中出现分叉情况示意图。 图8为本方法中一条线矢量化到头的示意图。 图9为本方法中遇到已处理情况示意图。 图10为本方法实施例输出结果。具体实施方式下面本专利技术结合实施例并参照附图作进一步详述 需说明的是,本申请材料中简称二值图像上的线形物体为图像,其他部分为背景, 而整个图像称为二值图像;矢量化过程中的圆称为移动圆;所有长度单位为像素。 本方法的流程参见图l。 步骤l,用常规方法打开一个二值图像文件; 步骤2,确定矢量化起始点按如下两种方法中的一种确定起始点一是通过鼠标 点击确定,图2中A点所示为用鼠标点击图像确定的起始点,选定的起始点尽量靠近图像的 中心线。二是计算机自动扫描二值图像确定一个起始点,从图像左上角开始,逐行扫描,遇 到的首个图像像素点作为起始点。图2中B点所示为计算机自动扫描二值图像确定的一个 起始点,图中左上部直线为扫描路线,都落在背景上,B点为扫描遇到的第一个图像像素; 步骤3,通过起始点确定起始圆心通过起始点作垂直于横轴的直线,取该直线通 过图像部分线段的中点,过此中点作垂直于纵轴的直线,取纵横两线段中的较短者的中点 为起始圆心。如图3中过A点(白色像素)作垂直于横轴的直线,通过图像部分的线段长 为19个像素,本文档来自技高网...
【技术保护点】
一种二值线形图像移动圆矢量化方法,其特征在于按如下步骤进行:(1)用常规方法打开一个二值图像文件;(2)确定矢量化起始点:通过鼠标点击图像确定或计算机自动扫描二值图像确定,若采用后一方法确定,则从图像左上角开始,逐行扫描,遇到的首个图像像素点作为起始点;(3)通过起始点确定起始圆心a:通过起始点作垂直于横轴的直线,取该直线通过图像部分的线段中点,过此中点作垂直于纵轴的直线,取纵横两线段中的较短者的中点为起始圆心,并将纵横两线段中较短的线段长度称为“线段长”;(4)取一大于1的则按下一步骤(13)处理;(13)用鼠标手工点击图像或计算机自动扫描查找新的起始点;(14)若找到新的起始点,按步骤(5)处理,否则按下一步骤(15)处理;(15)根据由所有弦中点组成的节点进行矢量化,消除冗余节点;算法如下:对相邻三节点k↓[i],k↓[i+1],k↓[i+2],用Bresenham画线算法画节点k↓[i]和节点k↓[i+2]之间的连线,若k↓[i+1]刚好在此连线上则删除该节点,否则保留;反复扫描所有节点,直至无节点删除为止;(16)输出结果。实数K和一大于1的实数λ;(5)以线段长的K倍为直径D,以步骤(3)确定的圆心a为圆心画移动圆;画移动圆时先到圆周坐标查找表中查找直径为D的圆周像素坐标,若查到则将查到的圆周像素坐标加上移动圆圆心a的像素坐标,得到移动圆的圆周像素坐标;若查不到则用Bresenham算法生成圆心在原点、直径为D的圆周像素坐标,加上移动圆圆心a的像素坐标,得到移动圆的圆周像素坐标,同时将直径D和圆心在原点的圆周像素坐标添加到圆周坐标查找表中;(6)确定前进方向:对起始圆,设此圆与图像相交有两个弧段,任取其中一个弧段所在的方向为前进方向,将另一个方向记录进分叉记录表,记录下起始圆心a的坐标和线段长,获取前进方向弧段的弦;对非起始圆,则两个弧段中有一个与已矢量化部分相交,另一个不相交,取不相交弧段所在方向为前进方向;(7)连接心弦线:确定弦的中点,记录弦中点坐标作为矢量化的节点,连接圆心与弦中点,得“心弦线”线段;(8)K值调整与否的确定:若心弦线跑出图像,则移动圆太大,缩小K值,令K=k/λ,按步骤(5)处理;若图像噪声枝严重,则增大K值,令K=k*λ,亦按步骤(5)处理;无需调整K值的则按下一步骤(9)处理;(9)检查是否有分叉:若在前进方向有多个相交弧段,则线形图像分叉,应选择其中一个为前进方向,其...
【技术特征摘要】
【专利技术属性】
技术研发人员:葛宏立,
申请(专利权)人:浙江林学院,
类型:发明
国别省市:33[中国|浙江]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。