一种基于可变阈值的PCB单图元识别方法与流程

文档序号:28922086发布日期:2022-02-16 13:29阅读:130来源:国知局
一种基于可变阈值的PCB单图元识别方法与流程
一种基于可变阈值的pcb单图元识别方法
技术领域
1.本发明涉及计算、推算或计数的技术领域,特别涉及一种基于可变阈值的pcb单图元识别方法,应用于pcb辅助制造生产的图形编辑技术。


背景技术:

2.pcb板是重要的电子部件,作为电子元器件的支撑体,其是电子元器件电气相互连接的载体。随着制造工艺的提升,pcb板朝高密度方向发展。
3.由于pcb图元存在尺寸纳米级、图元数目巨大以及图元不规则性等特征,而现有技术中,常用的pcb图形编辑系统以鼠标点是否选中图元为识别依据,在pcb板上图元密度越来越大的当下,实际操作中,存在鼠标难以精确选中图元,极易产生图元空识别问题,严重影响pcb图元识别效率。


技术实现要素:

4.本发明解决了现有技术中存在的问题,提供了一种优化的基于可变阈值的pcb单图元识别方法,提高pcb图元识别效率,特别适用于高密度的pcb板。
5.本发明所采用的技术方案是,一种基于可变阈值的pcb单图元识别方法,所述方法计算识别光标与任一pcb图元的最短距离,以最短距离和与pcb图元关联的阈值进行比较,实现pcb单个图元的识别。
6.优选地,所述方法包括以下步骤:
7.步骤1:将pcb板中的所有图元基于形状进行分类,设置并存储图元分类码、识别信息;建立基于所述pcb板的xoy坐标系;
8.步骤2:识别光标移动,获得对应的识别光标p,坐标为(x
p
,y
p
);
9.步骤3:以识别光标按分类遍历存储的所有图元,基于与pcb图元点关联的阈值ts为每一个图元补充识别光标与任一pcb图元的最短距离值;
10.步骤4:对所有最短距离值中的最小值对应的pcb图元进行识别。
11.优选地,所述步骤1中,所有图元基于形状分为线段图元、圆形图元和多边形图元;所述线段图元、圆形图元和多边形图元对应的图元分类码互不相同。
12.优选地,所述步骤1中,识别信息为对应每一图元的图元唯一标识号。
13.优选地,所述步骤3中,识别光标遍历存储的线段图元,获得最短距离值包括以下步骤:
14.步骤3.1.1:令任一线段图元的两个顶点a和b的坐标为(x1,y1)和(x2,y2);
15.步骤3.1.2:则以两个顶点a和b为端点,分别设置垂直于线段图元的辅助线l1和l2;
16.步骤3.1.3:若识别光标落于l1和l2间的空间内,则识别光标与所述线段图元的最短距离为d
l_min
=|pe|,其中,e为p与线段ab的垂足;
17.若识别光标落于l1或l2外的空间,则识别光标与所述线段图元的最短距离为d
l_min
=|pa|或
18.若识别光别落于l1或l2上,则识别光标与所述线段图元的最短距离为d
l_min
=|pa|或
19.步骤3.1.4:若|d
l_min
|<ts,则以|d
l_min
|为最短距离值并存储。
20.优选地,所述步骤3中,识别光标遍历存储的圆形图元,获得最短距离值包括以下步骤:
21.步骤3.2.1:令所述圆形图元的圆心为c(xc,yc)、半径为r;
22.步骤3.2.2:计算识别光标与圆形图元的最短距离d
c_min
,,
23.步骤3.2.3:若d
c_min
≤0,则识别光标选中所述圆形图元,以0为最短距离值,进行存储;若0<d
c_min
<ts,则以d
c_min
为最短距离值并存储。
24.优选地,所述步骤3中,识别光标遍历存储的多边形图元,获得最短距离值包括以下步骤:
25.步骤3.3.1:令目标多边形图元的顶点坐标集合为pq,pq={p1(x1,y1),p2(x2,y2),...,pn(xn,yn)},n为多边形的顶点数,n≥3;
26.步骤3.3.2:取所述多边形图元的边,对应n条线段p
k+1
pk,pk,p
k+1
∈p2,1≤k≤n-1;以n
r_p
对识别光标任一侧与目标多边形图元的交点进行计数;初始化n
r_p
为0;
27.步骤3.3.3:若p点位于任一线段p
k+1
pk上,则识别光标选中所述多边形图元,以0为最短距离值,进行存储;否则,自p点起,向任一线段p
k+1
pk上除顶点外的任一点绘制射线li,若n
r_p
为奇数,则识别光标选中所述多边形图元,以0为最短距离值,进行存储,若为偶数,则识别光标落于所述多边形图元外侧,进行下一步;
28.步骤3.3.4:初始化i=1;
29.步骤3.3.5:取所述多边形图元的第i条边,对应边的两个顶点坐标为p
i+1
(x
i+1
,y
i+1
)、pi(xi,yi),1≤i≤n-1;
30.步骤3.3.6:采用向量内积,遍历计算p与多边形图元的每条边延长线的位置关系r
p_seg_i
,r
p_seg_i
=(x
i-x
p
)*(y
i+1-y
p
)-(x
i+1-x
p
)*(y
i-y
p
);
31.步骤3.3.7:计算p与线段pi+1pi的距离d
p_
seg_i,进行暂存;
32.步骤3.3.8:若i<n-1,则i=i+1,重复步骤3.3.5,否则进行步骤3.3.9;
33.步骤3.3.9:取出所有暂存的d
p_seg_i
,d
r_min
=min{d
p_seg_i
|0<i<n},以d
r_min
为最短距离值并存储。
34.优选地,所述步骤3.3.7中,
35.若r
p_seg_i
>1,则
[0036][0037]
若r
p_seg_i
<0,则
[0038][0039]
其他情况下,则令d
x
=xi+r
p_seg_i
*(x
i+1-xi),dy=yi+r
p_seg_i
*(y
i+1-yi),
[0040][0041]
优选地,所述步骤3中,ts=t*scaling,t为初始阈值,scaling为图形缩放比例,scaling>0。
[0042]
优选地,t=|d
pel_min
|/2,其中,|d
pel_min
|为任意两个图元间的最小间距。
[0043]
本发明涉及一种优化的基于可变阈值的pcb单图元识别方法,计算识别光标与任一pcb图元的最短距离,以最短距离和与pcb图元点关联的阈值进行比较,实现pcb图元点的识别。
[0044]
本发明特别适用于高密度pcb板的辅助制造中,解决现有技术中对pcb板的空识别问题,提高pcb图元,特别是单个图元的识别效率,降低错率,成品率高。
附图说明
[0045]
图1为本发明的方法流程图。
具体实施方式
[0046]
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
[0047]
本发明涉及一种基于可变阈值的pcb单图元识别方法,所述方法计算识别光标与任一pcb图元的最短距离,以最短距离和与pcb图元关联的阈值进行比较,实现pcb单个图元的识别。
[0048]
所述方法包括以下步骤:
[0049]
步骤1:将pcb板中的所有图元基于形状进行分类,为分类后的图元分配图元分类码、识别信息,存储;建立基于所述pcb板的xoy坐标系;
[0050]
所述步骤1中,所有图元基于形状分为线段图元、圆形图元和多边形图元;所述线段图元、圆形图元和多边形图元对应的图元分类码互不相同。
[0051]
所述步骤1中,识别信息为对应每一图元的图元唯一标识号。
[0052]
本发明中,基于形状对图元进行分类,图元包括但不限于线段图元、圆形图元和多边形图元,在实际应用中,线段图元、圆形图元和多边形图元为常见图元,其中,圆形图元非圆点,而是以实心圆存在;就这三类图元来说,图元分类码互不相同,如线段图元的图元分类码为1、圆形图元的图元分类码为2、多边形图元的图元分类码为3。
[0053]
本发明中,图元唯一标识号为每个图元的特有识别信息,如设置某个线段图元的图元唯一标识号l1001,其中l表示线段,1001则表示编号。
[0054]
本发明中,实际处理过程中,将图元分类码和识别信息存储在嵌套键值对容器mappel中,并设置用于存储最短距离值的位置,初始值为空;mappel容器结构定义为《图元分类码,《图元唯一标识号,最短距离值》》。
[0055]
步骤2:识别光标移动,获得对应的识别光标p,坐标为(x
p
,y
p
);
[0056]
本发明中,一般来说,识别光标为鼠标点。
[0057]
步骤3:以识别光标按分类遍历存储的所有图元,基于与pcb图元点关联的阈值ts为每一个图元补充识别光标与任一pcb图元的最短距离值;
[0058]
所述步骤3中,ts=t*scaling,t为初始阈值,scaling为图形缩放比例,scaling>0。
[0059]
t=|d
pel_min
|/2,其中,|d
pel_min
|为任意两个图元间的最小间距。
[0060]
本发明中,pcb图形编辑系统是无极缩放的图形系统,不能使用固定的阈值为识别有效距离判断依据,因此在不同的图形缩放比例下,设置可变距离阈值ts。
[0061]
本发明中,在明确的情况下,初始阈值可以直接设定,亦可以通过计算最小间距获得。
[0062]
本发明中,最短距离值的获得或计算针对三种不同类型图元而定。
[0063]
本发明中,阈值t一般采用相同的值,举例来说,对于随机的三个图元a、b、c,存在a和b的间距为2,b和c的间距为1,a和c的间距为3,则以b和c的间距为每两个图元间的最小间距,即阈值t=d
bc
/2。
[0064]
所述步骤3中,识别光标遍历存储的线段图元,获得最短距离值包括以下步骤:
[0065]
步骤3.1.1:令任一线段图元的两个顶点a和b的坐标为(x1,y1)和(x2,y2);
[0066]
步骤3.1.2:则以两个顶点a和b为端点,分别设置垂直于线段图元的辅助线l1和l2;
[0067]
步骤3.1.3:若识别光标落于l1和l2间的空间内,则识别光标与所述线段图元的最短距离为d
l_min
=|pe|,其中,e为p与线段ab的垂足;
[0068]
若识别光标落于l1或l2外的空间,则识别光标与所述线段图元的最短距离为d
l_min
=|pa|或
[0069]
若识别光别落于l1或l2上,则识别光标与所述线段图元的最短距离为d
l_min
=|pa|或
[0070]
步骤3.1.4:若|d
l_min
|<ts,则以|d
l_min
|为最短距离值并存储。
[0071]
本发明中,针对线段图元,当识别光标落在不同位置时,其最短距离的计算方式存在不同,此位置由辅助线l1和l2进行区分;具体来说:
[0072]
识别光标落在l1和l2间时,则识别光标与线段ab间的最短距离一定是识别光标与ab的垂直交叉点e间的距离,即|pe|;
[0073]
识别光标落在l1和l2外的空间,则识别光标与线段ab间的最短距离一定是识别光标与a或b间的距离,即|pa|或|pb|;
[0074]
而当识别光标落在l1和l2上时,则识别光标与线段ab间的最短距离一定是识别光标与a或b间的距离,即|pa|或|pb|,但此时|pa|或|pb|事实上与识别光标与ab的垂直交叉点e间的距离相等。
[0075]
所述步骤3中,识别光标遍历存储的圆形图元,获得最短距离值包括以下步骤:
[0076]
步骤3.2.1:令所述圆形图元的圆心为c(xc,yc)、半径为r;
[0077]
步骤3.2.2:计算识别光标与圆形图元的最短距离d
c_min

[0078]
步骤3.2.3:若d
c_min
≤0,则识别光标选中所述圆形图元,以0为最短距离值,进行存储;若0<d
c_min
<ts,则以d
c_min
为最短距离值并存储
[0079]
所述步骤3中,识别光标遍历存储的多边形图元,获得最短距离值包括以下步骤:
[0080]
步骤3.3.1:令目标多边形图元的顶点坐标集合为pq,pq={p1(x1,y1),p2(x2,y2),...,pn(xn,yn)},n为多边形的顶点数,n≥3;
[0081]
步骤3.3.2:取所述多边形图元的边,对应n条线段p
k+1
pk,pk,p
k+1
∈pq,1≤k≤n-1;以n
r_p
对识别光标任一侧与目标多边形图元的交点进行计数;初始化n
r_p
为0;
[0082]
步骤3.3.3:若p点位于任一线段p
k+1
pk上,则识别光标选中所述多边形图元,以0为最短距离值,进行存储;否则,自p点起,向任一线段p
k+1
pk上除顶点外的任一点绘制射线li,若n
r_p
为奇数,则识别光标选中所述多边形图元,以0为最短距离值,进行存储,若为偶数,则识别光标落于所述多边形图元外侧,进行下一步;
[0083]
步骤3.3.4:初始化f=1;
[0084]
步骤3.3.5:取所述多边形图元的第i条边,对应边的两个顶点坐标为p
i+1
(x
i+1
,y
i+1
)、pi(xi,yi),1≤i≤n-1;
[0085]
步骤3.3.6:采用向量内积,遍历计算p与多边形图元的每条边延长线的位置关系r
p_seg_i
,r
p_seg_i
=(x
i-x
p
)*(y
i+1-y
p
)-(x
i+1-x
p
)*(y
i-y
p
);
[0087]
步骤3.3.7:计算p与线段p
i+1
pi的距离d
p_seg_i
,进行暂存;
[0088]
所述步骤3.3.7中,
[0089]
若r
p_seg_i
>1,则
[0090][0091]
若r
p_seg_i
<0,则
[0092][0093]
其他情况下,则令d
x
=xi+r
p_seg_i
*(x
i+1-xi),dy=yi+r
p_seg_i
*(y
i+1-yi),
[0094][0095]
步骤3.3.8:若i<n-1,则i=i+1,重复步骤3.3.5,否则进行步骤3.3.9;
[0096]
步骤3.3.9:取出所有暂存的d
p_seg_i
,d
r_min
=min{d
p_seg_i
|0<i<n},以d
r_min
为最短距离值并存储。
[0097]
本发明中,首先确认识别光标是否处于多边形图元内部,通过射线法计算识别光标与多边形图元的交点个数n
r_p
来判断识别光标与多边形图元的位置关系;即从识别光标向多边形图元的任一一边做一条射线,若交点个数为奇数,那么点在多边形内部,否则点在多边形外部;同时还存在一种例外情况,即识别光标位于任一条线段p
k+1
pk上,在这种情况下可能影响n
r_p
的计数,故直接以0为最短距离值,进行存储。
[0098]
本发明中,当确认识别光标处于多边形图元的外部后,计算向量内积,以向量内积确认每种情况下识别光标与多边形图元每条边的距离,并最终取最小值为最短距离值。
[0099]
步骤4:对所有的最短距离值中的最小值对应的pcb单图元进行识别。
[0100]
本发明中,为了避免计算量过大的问题,可以在获得识别光标p的坐标(x
p
,y
p
)后,先计算一个筛查范围,如以p为圆心、半径为r的圆形范围,r可以设置为ts的n倍,0<n≤20,随后进行筛查范围内的图元的最短距离的计算。
[0101]
本发明中,筛选容器mappel中的最短距离值,最短距离值最小的图元被识别。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1