一种二维零件轮廓栅格化特征表示方法

文档序号:8545 发布日期:2021-09-17 浏览:31次 英文

一种二维零件轮廓栅格化特征表示方法

技术领域

本发明属于零件轮廓信息获取

技术领域

,具体涉及一种二维零件轮廓栅格化特征表示方法。

背景技术

零件轮廓信息是零件最重要的下料信息之一,是进行零件面积计算、凹凸性判断、零件矩形包络、零件拼合及交互排样的基础。零件轮廓信息获取作为优化下料过程的首要阶段,合理的提取方案对下料的优劣有着重要的影响。对于规则的形状手动输入即可描述零件的轮廓信息,对于不规则形状的零件,其轮廓特征复杂多变,准确输入零件的各项几何信息十分困难。本发明针对二维轮廓特征在排样过程中表述不方便,特征提取识别困难等问题提出一种离散方式解决二维轮廓的提取、凹凸性特征识别的问题。

发明内容

本发明所要解决的技术问题是针对上述现有技术的不足,提供一种二维零件轮廓栅格化特征表示方法。

为实现上述技术目的,本发明采取的技术方案为:

一种二维零件轮廓栅格化特征表示方法,包括:

步骤1:将二维图形保存为可读取图形信息的文件格式;

步骤2:读取步骤1中的文件信息;

步骤3:根据离散程度xd对零件轮廓栅格化,并记录离散点方向序号;

步骤4:根据步骤3记录的方向序号构造方向链码,利用码值描述二维轮廓的凹凸特性;

步骤5:构造轮廓凹凸特性曲线。

为优化上述技术方案,采取的具体措施还包括:

上述的步骤1中,利用AutoCAD将二维图形保存为DXF文件格式;

步骤2中,利用DXF读取程序对步骤1中的图形进行读取,具体的:利用DXF读取程序对步骤1中DXF文件的ENTITIES段中的LINE、CIRCLE、POLYLINE、ARC类的数据信息进行提取。

上述的步骤3包括:

步骤3.1:对于所有坐标信息A(X,Y),X坐标与Y坐标分别除以所要离散化的程度xd,进一步向上取整得到离散坐标集B(X1,Y1);进一步去除离散坐标集B(X1,Y1)重复点得到离散坐标集C(X2,Y2);

步骤3.2:在像素图形中中心像素点周围有8个相邻像素点,构造8个搜寻方向为(1,2,3,4,5,6,7,8);

步骤3.3:取离散坐标集C(X2,Y2)中x与y值最小的像素点即左下第一个像素点为起始点,进一步按照(2,3,4,5,6,7,8,1)的顺序进行搜寻保存搜寻到的第一个离散点Q并记录其方向序号I,进一步根据Q的方向序号I取其关于中心像素点对称位置的方向序号下一序号按顺时针方向进行搜寻轮廓的下一像素点直至下一像素点为初始像素点。

上述的步骤4中,用下一像素点记录的方向序号In减去该点的方向序号In-1得到的差分Jn-1作为链码;

在得到In-In-1码值时进行判断,判断条件如下:

当In-In-1>4时Jn-1=In-In-1-8;

当In-In-1<-4时Jn-1J=In-In-1+8;

使得到的差分链码Jn-1的码值在[-3,3]区间内;

码值为正表示下一像素点的方向相较于本像素点在上一像素点的方向走了顺时针角度;

码值为负表示下一像素点的方向相较于本像素点在上一像素点的方向走了逆时针角度;

-3表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了135°;

-2表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了90°;

-1表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了45°;

0表示下一像素点的方向相较于本像素点的在上一像素点方向上保持不变;;

1表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了45°;

2表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了90°;

3表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了135°。

上述的步骤4中,码值为正也表示相较于上一点下一点为凸,码值为负表示相较于上一点下一点为凹,码值绝对值的大小表示凹凸特性的明显程度。

上述的步骤4中,假设a点到b点方向表示本像素点在上一像素点方向位置,则:

当码值为-3时,-3点相对于0点逆时针移动135°,a点到b点到-3点构成角度为45°的凹角。

当码值为-2时,-2点相对于0点逆时针移动90°,a点到b点到-2点构成角度为90°的凹角。

当码值为-1时,-1点相对于0点逆时针移动45°,a点到b点到-1点构成角度为135°的凹角。

当码值为0时,0点相对于0点逆时针移动0°,a点到b点到0点构成直线。

当码值为1时,1点相对于0点顺时针移动45°,a点到b点到1点构成角度为135°的凸角。

当码值为2时,2点相对于0点逆时针移动90°,a点到b点到2点构成角度为90°的凸角。

当码值为3时,3点相对于0点逆时针移动135°,a点到b点到3点构成角度为45°的凸角。

上述的步骤5中,在凹凸特性曲线图中凸角,即大于0的点表示轮廓在此处为凸;凹角,即小于0的点表示轮廓在此处为凹;而凹凸特性点之间用0表示以凸显出其凹凸特性;

轮廓凹凸特性的明显程度即用数值绝对值的大小与相邻小于或大于0的点的叠加和来判断。

上述的步骤5中,对步骤4构造出的方向链码进行降噪处理,去除整个轮廓中相邻三个像素点范围内凹点与凸点可以互补的像素点,用直线的特性代替像素点,并对的凹凸特性点的数值进行放大使之更凸显。

本发明具有以下有益效果:

零件轮廓信息的表述对最终下料方案的优劣有着重要的影响,为进一步提高排样质量本发明涉及一种将连续图形栅格化提取其轮廓特征的技术,在搜寻其轮廓像素点时能够准确的描绘其轮廓特征;选用Freeman链码的差对其改进作为方向链码使其数值的大小与正负能够作为判断凹凸程度的依据,提出一种轮廓凹凸特性曲线用来表示轮廓凹凸特性,并用方向链码进行构造,以连续离散点的凹凸特性变化反映轮廓的凹凸特性变化,能够准确的表述出轮廓的凹凸特性变化。

附图说明

图1为本发明流程图;

图2为本发明DXF文件读取流程图;

图3为本发明序号方向图;

图4为本发明轮廓像素点搜寻流程图;

图5为本发明链码差值方向图;

图6为本发明轮廓构造示意图;

图7为本发明方向链码降噪流程图。

具体实施方式

以下结合附图对本发明的实施例作进一步详细描述。

参见图1,本发明一种二维零件轮廓栅格化特征表示方法,包括:

步骤1:本发明利用AutoCAD将二维图形保存为DXF文件格式;

步骤2:利用DXF读取程序对步骤1中的图形进行读取;

由于本发明涉及图形为二维图形,当保存为dxf格式文件时其图元信息一般存储于ENTITIES段,因此利用DXF读取程序对步骤1中DXF文件的ENTITIES段中的LINE、CIRCLE、POLYLINE、ARC类的数据信息进行提取。

DXF文件读取流程图参见图2,DXF文件源代码对应的组码与说明参考DXF参考手册。

步骤3:根据离散程度xd对零件轮廓栅格化,并记录离散点方向序号;

为保证二维轮廓线包含在像素框以内,对步骤2中的所有坐标信息A(X,Y),X坐标与Y坐标分别除以所要离散化的程度xd,进一步向上取整得到离散坐标集B(X1,Y1);进一步去除离散坐标集B(X1,Y1)重复点得到离散坐标集C(X2,Y2);

在像素图形中中心像素点周围有8个相邻像素点,构造8个搜寻方向为(1,2,3,4,5,6,7,8)如图3。为使排列得到的离散坐标集C(X2,Y2)具有连续性且保证中心像素外8个邻域范围内至多有3个像素点,本发明取离散坐标集C(X2,Y2)中x与y值最小的像素点即左下第一个像素点为起始点,进一步按照(2,3,4,5,6,7,8,1)的顺序进行搜寻保存搜寻到的第一个离散点Q并记录其方向序号I,进一步根据Q的方向序号I取其关于中心像素点对称位置的方向序号下一序号按顺时针方向进行搜寻轮廓的下一像素点直至下一像素点为初始像素点。轮廓像素点搜寻流程图参见图4。

步骤4:根据步骤4记录的方向序号构造方向链码,利用码值描述二维轮廓的凹凸特性;

本发明利用连续像素点来描述二维轮廓,因此为了提取轮廓的凹凸特性本发明用下一像素点记录的方向序号In减去该点的方向序号In-1得到的差分J n-1作为链码。由于本发明在二维轮廓扫描顺序上是参考上一方向序号进行像素点描述排除了返回到上一像素点的可能性因此进行差分时不可能出现4或者-4的码值,方向序号1与8在角度上其实是连续的若采用差值(5,-5,6,-6,7,-7)会导致在角度判断时造成角度间隔过大。在得到(5,-5,6,-6,7,-7)码值时进行判断:

当In-In-1>4时Jn-1=In-In-1-8;

当In-In-1<-4时Jn-1J=In-In-1+8;

因此本发明得到的差分链码只包含(-3,-2,-1,0,1,2,3);

码值为正表示下一像素点的方向相较于本像素点在上一像素点的方向走了顺时针角度。

码值为负表示下一像素点的方向相较于本像素点在上一像素点的方向走了逆时针角度。

-3表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了135°

-2表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了90°

-1表示下一像素点的方向相较于本像素点的在上一像素点方向逆时针走了45°

0表示下一像素点的方向相较于本像素点的在上一像素点方向上保持不变;

1表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了45°

2表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了90°

3表示下一像素点的方向相较于本像素点的在上一像素点方向顺时针走了135°

进一步由于本发明的轮廓扫描方向与链码排列方向相同为顺时针方向,因此码值为正也表示相较于上一点下一点为凸,码值为负表示相较于上一点下一点为凹。码值绝对值的大小表示凹凸特性的明显程度。

如图5所示,a点到b点方向表示本像素点在上一像素点方向位置。

当码值为-3时,-3点相对于0点逆时针移动135°,a点到b点到-3点构成角度为45°的凹角。

当码值为-2时,-2点相对于0点逆时针移动90°,a点到b点到-2点构成角度为90°的凹角。

当码值为-1时,-1点相对于0点逆时针移动45°,a点到b点到-1点构成角度为135°的凹角。

当码值为0时,0点相对于0点逆时针移动0°,a点到b点到0点构成直线。

当码值为1时,1点相对于0点顺时针移动45°,a点到b点到1点构成角度为135°的凸角。

当码值为2时,2点相对于0点逆时针移动90°,a点到b点到2点构成角度为90°的凸角。

当码值为3时,3点相对于0点逆时针移动135°,a点到b点到3点构成角度为45°的凸角。

步骤5:构造轮廓凹凸特性曲线。

为直观的表示出轮廓的凹凸特性,本发明提出一种凹凸特性曲线图。在凹凸特性曲线图中凸角(大于0的点)表示轮廓在此处为凸;凹角(小于0的点)表示轮廓在此处为凹;而凹凸特性点之间用0表示以凸显出其凹凸特性。轮廓凹凸特性的明显程度即用数值绝对值的大小与相邻小于或大于0的点的叠加和来判断。

参见图6,零件中本发明中取图形像素点左下角作为凹凸特性曲线的起始点顺时针方向对图形轮廓进行描述,开始为凸角进一步为直线、凹角、直线、凸角、直线、凹角、直线、凸角、直线、凸角、直线、凹角、直线、凸角、直线、凸角、直线、凹角、直线、凸角、直线、凹角、直线接着返回左下角起始点。在凹凸特性曲线图中可以准确描绘出轮廓整体的凹凸特性变化。

由于步骤4中的方向链码中包含轮廓的凹凸特性因此本发明采用方向链码来构造凹凸特性曲线图。

但方向链码表示的是相邻俩像素点的变化,在整个轮廓范围内其角度的变化在凹凸特性曲线中并不能直观反映取轮廓的曲线特性,但如果该段链码反映的直线特性那么该段直线的任意像素点的码值邻域之和必然总是趋近于0;因此本发明对步骤4中构造出的方向链码进行降噪处理,去除整个轮廓中相邻三个像素点范围内凹点与凸点可以互补的像素点,用直线的特性代替像素点,并对的凹凸特性点的数值进行放大使之更凸显。

记链码为I=[i1,i2……in-1,in];令J=[i2……in-1,in,i1],L=[i3……in,i1,i2];M为I*J中小于0的数即为相邻像素点符号相反,N为I*L中小于0的数即为间隔一位的俩像素点符号相反,链码长度大于2会导致M中某些小于0的索引的下一位其实并没有与之具有互补性的像素点,因此在进行循环的过程中去除已经配对过的像素点。但在可互补的像素点中存在左右邻域中的一边可互补但另一边与其符合相同的情况该点表示的其实为凹凸特性点。因此在M集中去除该特异点,保证特性点不会被处理掉;由于在处理过程中已经去除相邻像素点码值相反的情况,再进行间隔一位像素点的俩像素点码值符号也相反的情况即完成轮廓的降噪。方向链码降噪流程如图7所示。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:基于改进K-邻域算法的配网电力线点云提取方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!