CN114489914B - 一种pcb板智能检测系统的模板关键区的生成方法、电子设备 - Google Patents
一种pcb板智能检测系统的模板关键区的生成方法、电子设备 Download PDFInfo
- Publication number
- CN114489914B CN114489914B CN202210145187.9A CN202210145187A CN114489914B CN 114489914 B CN114489914 B CN 114489914B CN 202210145187 A CN202210145187 A CN 202210145187A CN 114489914 B CN114489914 B CN 114489914B
- Authority
- CN
- China
- Prior art keywords
- line segment
- key
- key area
- ncs
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/01—Arrangements or apparatus for facilitating the optical investigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/956—Inspecting patterns on the surface of objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/956—Inspecting patterns on the surface of objects
- G01N2021/9563—Inspecting patterns on the surface of objects and suppressing pattern images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请是关于一种PCB板智能检测系统的模板关键区的生成方法、电子设备。该方法包括:初始化关键点链表;在配方设置界面中选取需要用关键点检测的特征;在静态图界面中显示的相应特征图上选取关键点,在关键点链表中,所述相应特征图上选取的关键点对应的结构项得到修正;根据关键点链表修改该模板特征节点信息;根据带有关键点信息的模板特征节点,生成模板关键区;判断带关键区检测的整体测试是否可行,如判断可行,则保存配方;若判断不可行,则结束。在PCB板智能检测系统中设置模板关键区,该种方式,使得PCB板智能检测系统的检测速度、准确性得到了提高,并提高了其适用性,使得其能够提供蚀刻前、蚀刻后检测、在线检测及离线检测多种使用场合。
Description
技术领域
本申请涉及电路板质检的技术领域,尤其涉及一种PCB板智能检测系统的模板关键区的生成方法、电子设备。
背景技术
针对传统的AOI对PCB板检测所带来的整张板及已贴装的部件都需要报废,浪费很大的这种情况,近些年市面陆续出现了一些只对PCB裸板进行检测的检测系统。这种方式带来的好处是显而易见的:检测出废品后,只报废这张裸板,在源头上有效的控制了原料的浪废。但从近几年的使用情况来看,这种方式在适应性、检测速度、检测准确性等方面与实际需要的要求还有较大差距。
发明内容
为克服相关技术中存在的问题,本申请提供一种PCB板智能检测系统的模板关键区的生成方法、电子设备,其检测速度大大提高并极大地提高了检测特征的准确性,并且提高其适应性,能够提供蚀刻前、蚀刻后检测、在线检测及离线检测多种使用场合。
本申请第一方面提供一种PCB板智能检测系统的模板关键区的生成方法,为模板关键区提供有关的静态图像和配方设置界面,包括其生成方法为:
步骤1,初始化关键点链表;
步骤2,在配方设置界面中选取需要用关键点检测的特征;
步骤3,在静态图界面中显示的相应特征图上选取关键点,在关键点链表中,所述相应特征图上选取的关键点对应的结构项得到修正;
步骤4,根据关键点链表修改模板的特征节点信息;
步骤5,根据带有关键点信息的模板特征节点,生成模板关键区;
步骤6,测试带模板关键区的检测系统是否可行,如可行,则保存配方,结束该关键区的生成;若不可行,则直接结束该关键区的生成。
优选地,在步骤5中,根据带有关键点信息的模板特征节点,生成模板关键区的具体方法为:
步骤11,装入带有关键点信息的模板特征节点,得到有关键区检测的特征数EPNum;
步骤12,生成一个有EPNum个关键区结构元素的数组;
步骤13,遍历模板的所有特征,判断特征i是否有关键区检测,若判断否,使得i=i+1,返回步骤13;若判断是,则执行下一步;
步骤14,生成具有关键区结构的第j个数组元素;
步骤15,j=j+1;
步骤16,判断j >=EPNum,若判断否,则返回步骤13,若判断是,则结束该流程。
优选地,在步骤14中,生成具有关键区结构的第j个数组元素的具体方法为:
步骤21,读取第j个数组元素和关键点信息;
步骤22,生成特征轮廓线;
步骤23,分析特征关键点信息和轮廓线信息,生成特征关键区域及其轮廓线;
步骤24,输出结果给关键区结构变量。
优选地,在步骤23中,按指定特征关键点和轮廓线信息生成指定特征的关键区轮廓线及关键区域,其中由特征某个关键点初次生成相应的关键区轮廓线的方法为:
步骤31,读取特征轮廓线信息,并取得拟合线段的条数N;
步骤32,读取关键点位置信息;
步骤33,判断拟合线段n是否在关键点位置附近,若判断是,则拟合线段n进入关键区轮廓线的集合,n=n+1;若判断否,则n=n+1;
步骤34,判断n >N,若判断否,则返回步骤33,若判断是,则执行下一步;
步骤35,输出关键区轮廓线集合。
优选地,整理并生成特征正确关键区轮廓线的方法为:
步骤41,取初次关键区轮廓线中的所有拟合线段;
步骤42,遍历所有拟合线段,得到连续线段序号集合CS和元素个数aCN、中断线段序号集合TS和元素个数bTN;
步骤43,判断bTN==0,若判断是,将关键区轮廓线所有拟合线段赋给新连续线段集合NCS,输出正确连续线集合;若判断否,则执行下一步;
步骤44,临时连续线段集合LCS初始化为空,序号为K=0;
步骤45,判断连续线段序号a>中断线段序号b,若判断否,则将连续线段a进入集合LCS,a=a+1,k=k+1;若判断是,则执行下一步;
步骤46,判断LCS是否为空,若判断是,则将中断线段b作为首线段进入LCS;若判断否,则将LCS内容赋给新连续线段集合NCS,LCS初始化为空,序号k=0,将中断线段b作为首线段进入LCS;
步骤47,k=k+1,将连续线段a作为后续线段进入LCS,中断线段序号b=b+1;
步骤48,判断b是否大于中断线段总条数,若判断否,则a=a+1,k=k+1;若判断是,则标示已无中断线,a=a+1,k=k+1;
步骤49,判断连续线段序号a >连续线段总条数,若判断否,则返回步骤45;若判断是,则处理bTmpLine=关键区轮廓线首线段是否在LCS,bNewLine=关键区轮廓线首线段是否在NCS,LCS和NCS归并成一个连续线段集合;
步骤50,关键区轮廓线首线段不在LCS或NCS,修正关键区轮廓线,输出正确连续线集合。
优选地,判断某指定线段是否属于某指定连续线段集合的方法:
步骤51,取线段的首尾端点,取连续线段集的首线段的首端点和尾线段的尾端点;
步骤52,计算线段的尾端点和集合首线段的首端点距离DIS1;
步骤53,判断DIS1是否小于3,若判断是,将线段并到连续线段集的首线段,置结果为真;若判断否,则执行下一步;
步骤54,计算线段的首端点和集合尾线段的尾端点距离DIS2;
步骤55,判断DIS2是否小于 3,若判断为否,则置结果为假;若判断为是,则将线段并到连续线段集的尾线段,置结果为真。
优选地,两个连续线段集合归并为一个连续线段集合的方法为:
步骤61,输入两连续线段集NCS和LCS;
步骤62,计算NCS的首线段首端点和LCS的首线段首端点距离disB_B,计算NCS的尾线段尾端点和LCS的尾线段尾端点距离disE_E,计算NCS的首线段首端点和LCS的尾线段尾端点距离disB_E,计算NCS的尾线段尾端点和LCS的首线段首端点距离disE_B;
步骤63,判断disB_B<20||disE_E<20||disB_E<20||disE_B<20是否为真,若判断否,则执行步骤64;若判断是,则执行步骤65;
步骤64,比较NCS和LCS各集合里线段条数及连续线段总长,线段条数或者连续线段总长大的为新连续线集合,参照排除掉的连续线集合,修正关键区轮廓线,设置两集合不能连接的标志,结束该流程;
步骤65,判断disE_B<20&&disE_B>3是否为真,若判断是,则LCS+NCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程;若判断否,NCS+LCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程。
优选地,由一个连续线段集NCS生成一个关键区域的方法为:
步骤71,输入连续线段集NCS;
步骤72,从NCS尾线段开始,反向遍历NCS,找到与NCS首线段首尾端点距离最近的点所在的线段序号;如实际需要将NCS的首线段移出,作上标志;
步骤73,生成移出线段的集合ECS;
步骤74,判断ECS是否为空,若判断是,直接结束该流程;若判断否,则执行下一步;
步骤75,NCS中除掉ECS中有的线段,修正NCS;
步骤76,关键区轮廓线用NCS替换;
步骤77,NCS增加一条末尾线段,线段首端点为原NCS的最后一个端点,尾端点为原NCS的第一个端点,使NCS成为闭合线段集;
步骤78,用NCS中的拟合线段集生成需要的闭合区域,结束该流程。
优选地,基于模板特征的一个关键点生成该特征,关于该关键点的一个关键区轮廓线和一个用于检测的关键区域的方法为:
步骤81,输入模板特征轮廓线;
步骤82,初次生成相应的关键区轮廓;
步骤83,整理并生成特征正确关键区轮廓线;
步骤84,由正确关键区轮廓线生成一个关键区。
本申请第二方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:在PCB板智能检测系统中设置模板关键区,该种方式,使得PCB板智能检测系统的检测速度大大地提高了,同时提高了其检测的准确性,并提高了其适用性,使得其能够提供蚀刻前、蚀刻后检测、在线检测及离线检测多种使用场合。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法的流程示意图;
图2是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中根据带有关键点信息的模板特征节点生成模板关键区的流程示意图;
图3是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中生成具有关键区结构的第j个数组元素流程示意图;
图4是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中由特征某个关键点初次生成相应的关键区轮廓线的流程示意图;
图5是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中整理并生成特征关键区轮廓线的流程示意图;
图6是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中判断某指定线段是否属于某指定连续线段集合的流程示意图;
图7是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中两个连续线段集合归并为一个连续线段集合的流程示意图;
图8是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中由一个连续线段集NCS生成一个关键区域的流程示意图;
图9是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中关于该关键点的一个关键区轮廓线和一个用于检测的关键区域的流程示意图;
图10是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
针对上述问题,本申请实施例提供一种PCB板智能检测系统的模板关键区的生成方法、电子设备,其检测速度大大提高并极大地提高了检测特征的准确性,并且提高其适应性,能够提供蚀刻前、蚀刻后检测、在线检测及离线检测多种使用场合。
以下结合附图详细描述本申请实施例的技术方案。
图1是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法的流程示意图。
参见图1,一种PCB板智能检测系统的模板关键区的生成方法,为模板关键区提供有关的静态图像和配方设置界面,包括其生成方法为:
步骤1,S1,初始化关键点链表。装载参数,修改配方,进入配方设置界面,激活关键区检测,进入关键区设置勾选关键区选项,初始化关键点链表。模板图案的每个特征有一个关键点结构项对应,每个特征初始状态为不使用关键点检测。
步骤2,S2,在配方设置界面中选取需要用关键点检测的特征。在配方设置界面的列表框中选取需要用关键点检测的特征。
步骤3,S3,在静态图界面中显示的相应特征图上选取关键点,在关键点链表中,所述相应特征图上选取的关键点对应的结构项得到修正。在静态图界面中显示的相应特征图上选取红色的关键点,点击使其变绿色,按确定按钮,关键点链表中该特征对应的结构项得到修正,该特征检测时即具有关键点检测功能。判断其它特征是否需要设置关键点检测,若判断是,则返回步骤2;若判断否,则执行下一步。
步骤4,S4,根据关键点链表修改该模板特征节点信息。按建模按钮,根据关键点链表修改该模板特征节点信息。
步骤5,S5,根据带有关键点信息的模板特征节点,生成模板关键区。
步骤6,S6,判断带关键区检测的整体测试是否可行,如判断可行,则保存配方,结束该关键区的生成;若判断不可行,则直接结束该关键区的生成。
图2是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中根据带有关键点信息的模板特征节点生成模板关键区的流程示意图。
在一可选实施例中,如图2所示,在步骤5中,根据带有关键点信息的模板特征节点,生成模板关键区的具体方法为:
步骤11,S11,装入带有关键点信息的模板特征节点,得到有关键区检测的特征数EPNum。在系统中装入模板的特征节点,该特征节点带有关键点的信息,EPNum为关键区检测的特征的个数。
步骤12,S12,生成一个有EPNum个关键区结构元素的数组。生成一个数组,该数组有EPNum个关键区的结构元素。
步骤13,S13,遍历模板的所有特征,判断特征i是否有关键区检测,若判断否,使得i=i+1,返回步骤13;若判断是,则执行下一步。遍历模板的所有特征,判断特征i是否设置有需要进行关键区的检测的结构元素。
步骤14,S14,生成具有关键区结构的第j个数组元素。生成第j个数组,该数组具有关键区的结构元素。
步骤15,S15,j=j+1。记录数组的个数。
步骤16,S16,判断j >=EPNum,若判断否,则返回步骤13,若判断是,则结束该流程。判断数组的个数与特征的个数的是否相等。
图3是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中生成具有关键区结构的第j个数组元素流程示意图。
在一可选实施例中,如图3所示,在步骤14中,生成具有关键区结构的第j个数组元素,即某个指定特征的关键区信息生成的具体方法为:
步骤21,S21,读取第j个数组元素和关键点信息。读取指定特征对象和关键点信息。
步骤22,S22,生成特征轮廓线。根据读取到的指定特征对象和关键点的信息,生成该指定特征的特征轮廓线。
步骤23,S23,分析特征关键点信息和轮廓线信息,生成特征关键区域及其轮廓线。根据步骤21中读取到的关键点信息和步骤22中的特征轮廓线,分析特征关键点信息和轮廓线信息,生成对应的特征关键区和该特征的轮廓线。
步骤24,S24,输出结果给关键区结构变量。将生成的特征关键区和特征轮廓线输出给关键区作为结构变量。
图4是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中由特征某个关键点初次生成相应的关键区轮廓线的流程示意图。
在一可选实施例中,在步骤23中,按指定特征关键点和轮廓线信息生成指定特征的关键区域及关键区轮廓线,如图4所示,其中由特征某个关键点初次生成相应的关键区轮廓线的方法为:
步骤31,S31,读取特征轮廓线信息,并取得拟合线段的条数N。读取特征轮廓线信息,并根据特征轮廓线的条数取得拟合线段的条数N。
步骤32,S32,读取关键点位置信息。该关键点的位置信息与拟合线段n进行比对。
步骤33,S33,判断拟合线段n是否在关键点位置附近,若判断是,则拟合线段n进入关键区轮廓线的集合,n=n+1;若判断否,则n=n+1。判断拟合线段n是否在关键点位置附近,如果在附近,则将该拟合线段n放到关键区轮廓线的集合中,如果不在附近,则直接将该拟合线段n去除或者忽略。
步骤34,S34,判断n >N,若判断否,则返回步骤33,若判断是,则执行下一步。判断拟合线段n的序号n是否大于拟合线段的条数N,即判断是否处理完拟合线段。
步骤35,S35,输出关键区轮廓线集合。
图5是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中整理并生成特征关键区轮廓线的流程示意图。
在一可选实施例中,如图5所示,整理并生成特征正确关键区轮廓线的方法为:
步骤41,S41,取初次关键区轮廓线中的所有拟合线段。
步骤42,S42,遍历所有拟合线段,得到连续线段序号集合CS和元素个数aCN、中断线段序号集合TS和元素个数bTN。
步骤43,S43,判断bTN==0,若判断是,将关键区轮廓线所有拟合线段赋给新连续线段集合NCS,输出正确连续线集合,结束该流程;若判断否,则执行下一步。即判断是否有中断线段,如果判断没有中断线段,则全部都是连续线段;如果判断有中断线段,则需要进一步地识别该中断线段的相关信息。
步骤44,S44,临时连续线段集合LCS初始化为空,序号为K=0。建立临时连续线段集合LCS,用于放置判断为连续线段的连续线段。
步骤45,S45,判断连续线段序号a>中断线段序号b,若判断否,则将连续线段a进入集合LCS,a=a+1,k=k+1,执行步骤49;若判断是,则执行下一步。对连续线段和中断线段进行分类归集,将连续线段放到一个集合中,将中断线段放到另一集合中。
步骤46,S46,判断LCS是否为空,若判断是,则将中断线段b作为首线段进入LCS;若判断否,则将LCS内容赋给新连续线段集合NCS,LCS初始化为空,序号k=0,将中断线段b作为首线段进入LCS。对判别为中断线段的中断线段进行处理,如果LCS是空的,放入LCS的第一条线段作为首线段,后续进入的线段与首线段连接成连续线段。如果LCS不是空的,将LCS原来的内容给新连续线段集合NCS,清空LCS,再放入中断线段作为首线段,后续进入的线段与首线段连接成连续线段。
步骤47,S47,k=k+1,将连续线段a作为后续线段进入LCS,中断线段序号b=b+1。
步骤48,S48,判断b是否大于中断线段总条数,若判断否,则a=a+1,k=k+1,执行步骤49;若判断是,则标示已无中断线,a=a+1,k=k+1,执行步骤49。判断是否将中断线段处理完毕,避免遗漏。
步骤49,S49,判断连续线段序号a >连续线段总条数,若判断否,则返回步骤45;若判断是,则处理bTmpLine=关键区轮廓线首线段是否在LCS,bNewLine=关键区轮廓线首线段是否在NCS,LCS和NCS归并成一个连续线段集合。判断连续线段是否处理完毕,避免线段的遗漏。
步骤50,S50,关键区轮廓线首线段不在LCS或NCS,修正关键区轮廓线,输出正确连续线集合,结束该流程。
本实施例中所述的线段可以理解为电路板上的线路。
图6是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中判断某指定线段是否属于某指定连续线段集合的流程示意图。
在一可选实施例中,如图6所示,判断某指定线段是否属于某指定连续线段集合的方法:
步骤51,S51,取线段的首尾端点,取连续线段集的首线段的首端点和尾线段的尾端点。
步骤52,S52,计算线段的尾端点和集合首线段的首端点距离DIS1。
步骤53,S53,判断DIS1是否小于3,若判断是,将线段并到连续线段集的首线段,置结果为真,结束该流程;若判断否,则执行下一步。
步骤54,S54,计算线段的首端点和集合尾线段的尾端点距离DIS2。
步骤55,S55,判断DIS2是否小于 3,若判断为否,则置结果为假,结束该流程;若判断为是,则将线段并到连续线段集的尾线段,置结果为真,结束该流程。
图7是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中两个连续线段集合归并为一个连续线段集合的流程示意图。
在一可选实施例中,如图7所示,两个连续线段集合归并为一个连续线段集合的方法为:
步骤61,S61,输入两连续线段集NCS和LCS。
步骤62,S62,计算NCS的首线段首端点和LCS的首线段首端点距离disB_B,计算NCS的尾线段尾端点和LCS的尾线段尾端点距离disE_E,计算NCS的首线段首端点和LCS的尾线段尾端点距离disB_E,计算NCS的尾线段尾端点和LCS的首线段首端点距离disE_B。
步骤63,S63,判断disB_B<20||disE_E<20||disB_E<20||disE_B<20是否为真,若判断否,则执行步骤64;若判断是,则执行步骤65。
步骤64,S64,比较NCS和LCS各集合里线段条数及连续线段总长,线段条数或者连续线段总长较大的集合为新连续线集合,参照排除掉的连续线集合,修正关键区轮廓线,设置两集合不能连接的标志,结束该流程。
步骤65,S65,判断disE_B<20&&disE_B>3是否为真,若判断是,则LCS+NCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程;若判断否,NCS+LCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程。
图8是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中由一个连续线段集NCS生成一个关键区域的流程示意图。
在一可选实施例中,如图8所示,由一个连续线段集NCS生成一个关键区域的方法为:
步骤71,S71,输入连续线段集NCS。
步骤72,S72,从NCS尾线段开始,反向遍历NCS,找到与NCS首线段首尾端点距离最近的点所在的线段序号;如实际需要将NCS的首线段移出,作上标志。
步骤73,S73,生成移出线段的集合ECS。
步骤74,S74,判断ECS是否为空,若判断是,直接结束该流程;若判断否,则执行下一步。
步骤75,S75,NCS中除掉ECS中有的线段,修正NCS。
步骤76,S76,关键区轮廓线用NCS替换。
步骤77,S77,NCS增加一条末尾线段,线段首端点为原NCS的最后一个端点,尾端点为原NCS的第一个端点,使NCS成为闭合线段集。
步骤78,S78,用NCS中的拟合线段集生成需要的闭合区域,结束该流程。
图9是本申请实施例示出的一种PCB板智能检测系统的模板关键区的生成方法中关于该关键点的一个关键区轮廓线和一个用于检测的关键区域的流程示意图。
在一可选实施例中,如图9所示,基于模板特征的一个关键点生成该特征,关于该关键点的一个关键区轮廓线和一个用于检测的关键区域的方法为:
步骤81,S81,输入模板特征轮廓线;
步骤82,S82,初次生成相应的关键区轮廓;
步骤83,S83,整理并生成特征正确关键区轮廓线;
步骤84,S84,由正确关键区轮廓线生成一个关键区。
在PCB板智能检测系统中设置模板关键区,该种方式,使得PCB板智能检测系统的检测速度大大地提高了,同时提高了其检测的准确性,并提高了其适用性,使得其能够提供蚀刻前、蚀刻后检测、在线检测及离线检测多种使用场合。
图10是本申请实施例示出的电子设备的结构示意图。
参见图10,电子设备1000包括存储器1010和处理器1020。
处理器1020可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。
系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减, 本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种PCB板智能检测系统的模板关键区的生成方法,为模板关键区提供有关的静态图像和配方设置界面,其特征在于,包括其生成方法为:
步骤1,初始化关键点链表;模板图案的每个特征有一个关键点结构项对应,每个特征初始化状态为不使用关键点检测;
步骤2,在配方设置界面中选取需要用关键点检测的特征;
步骤3,在静态图界面中显示的相应特征图上选取关键点,在关键点链表中,所述相应特征图上选取的关键点对应的结构项得到修正;具体为,在静态图界面中显示的相应特征图上选取红色的关键点,点击使其变绿色,按确定按钮,关键点链表中该特征对应的结构项得到修正,该特征检测时即具有关键点检测功能;
步骤4,根据关键点链表修改模板的特征节点信息;
步骤5,根据带有关键点信息的模板特征节点,生成模板关键区;
步骤6,测试带模板关键区的检测系统是否可行,如可行,则保存配方,结束该关键区的生成;若不可行,则直接结束该关键区的生成。
2.根据权利要求1所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,在步骤5中,根据带有关键点信息的模板特征节点,生成模板关键区的具体方法为:
步骤11,装入带有关键点信息的模板特征节点,得到有关键区检测的特征数EPNum;
步骤12,生成一个有EPNum个关键区结构元素的数组;
步骤13,遍历模板的所有特征,判断特征i是否有关键区检测,若判断否,使得i=i+1,返回步骤13;若判断是,则执行下一步;
步骤14,生成具有关键区结构的第j个数组元素;
步骤15,j=j+1;
步骤16,判断j >=EPNum,若判断否,则返回步骤13,若判断是,则结束。
3.根据权利要求2所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,在步骤14中,生成具有关键区结构的第j个数组元素的具体方法为:
步骤21,读取第j个数组元素和关键点信息;
步骤22,生成特征轮廓线;
步骤23,分析特征关键点信息和轮廓线信息,生成特征关键区域及其轮廓线;
步骤24,输出结果给关键区结构变量。
4.根据权利要求3所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,在步骤23中,按指定特征关键点和轮廓线信息生成指定特征的关键区域及关键区轮廓线,其中由特征某个关键点初次生成相应的关键区轮廓线的方法为:
步骤31,读取特征轮廓线信息,并取得拟合线段的条数N;
步骤32,读取关键点位置信息;
步骤33,判断拟合线段n是否在关键点位置附近,若判断是,则拟合线段n进入关键区轮廓线的集合,n=n+1;若判断否,则n=n+1;
步骤34,判断n >N,若判断否,则返回步骤33,若判断是,则执行下一步;
步骤35,输出关键区轮廓线集合。
5.根据权利要求4所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,整理并生成特征关键区轮廓线的方法为:
步骤41,取初次关键区轮廓线中的所有拟合线段;
步骤42,遍历所有拟合线段,得到连续线段序号集合CS及其元素个数aCN、中断线段序号集合TS及其元素个数bTN;
步骤43,判断bTN==0,若判断是,将关键区轮廓线所有拟合线段赋给新连续线段集合NCS,输出正确连续线集合;若判断否,则执行下一步;
步骤44,临时连续线段集合LCS初始化为空,序号为k=0;
步骤45,判断连续线段序号a>中断线段序号b,若判断否,则将连续线段a进入集合LCS,a=a+1,k=k+1;若判断是,则执行下一步;
步骤46,判断LCS是否为空,若判断是,则将中断线段b作为首线段进入LCS;若判断否,则将LCS内容赋给新连续线段集合NCS,LCS初始化为空,序号k=0,将中断线段b作为首线段进入LCS;
步骤47,k=k+1,将连续线段a作为后续线段进入LCS,中断线段序号b=b+1;
步骤48,判断b是否大于中断线段总条数,若判断否,则a=a+1,k=k+1;若判断是,则标示已无中断线,a=a+1,k=k+1;
步骤49,判断连续线段序号a >连续线段总条数,若判断否,则返回步骤45;若判断是,则处理bTmpLine=关键区轮廓线首线段是否在LCS,bNewLine=关键区轮廓线首线段是否在NCS,LCS和NCS归并成一个连续线段集合;
步骤50,关键区轮廓线首线段不在LCS或NCS,修正关键区轮廓线,输出正确连续线集合。
6.根据权利要求5所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,判断某指定线段是否属于某指定连续线段集合的方法:
步骤51,取线段的首端点、尾端点,取连续线段集的首线段的首端点和尾线段的尾端点;
步骤52,计算线段的尾端点和集合首线段的首端点距离DIS1;
步骤53,判断DIS1是否小于3,若判断是,将线段并到连续线段集的首线段,置结果为真;若判断否,则执行下一步;
步骤54,计算线段的首端点和集合尾线段的尾端点距离DIS2;
步骤55,判断DIS2是否小于 3,若判断为否,则置结果为假;若判断为是,则将线段并到连续线段集的尾线段,置结果为真。
7.根据权利要求5所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,两个连续线段集合归并为一个连续线段集合的方法为:
步骤61,输入两连续线段集NCS和LCS;
步骤62,计算NCS的首线段首端点和LCS的首线段首端点距离disB_B,计算NCS的尾线段尾端点和LCS的尾线段尾端点距离disE_E,计算NCS的首线段首端点和LCS的尾线段尾端点距离disB_E,计算NCS的尾线段尾端点和LCS的首线段首端点距离disE_B;
步骤63,判断disB_B<20||disE_E<20||disB_E<20||disE_B<20是否为真,若判断否,则执行步骤64;若判断是,则执行步骤65;
步骤64,比较NCS和LCS各集合里线段条数及连续线段总长,线段条数或者连续线段总长较大的为新连续线集合,参照排除掉的连续线集合,修正关键区轮廓线,设置两集合不能连接的标志,结束该流程;
步骤65,判断disE_B<20&&disE_B>3是否为真,若判断是,则LCS+NCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程;若判断否,NCS+LCS组成一个新连续线段集合,设置两集合能连接的标志,结束该流程。
8.根据权利要求7所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,由一个连续线段集NCS生成一个关键区域的方法为:
步骤71,输入连续线段集NCS;
步骤72,从NCS尾线段开始,反向遍历NCS,找到与NCS首线段首尾端点距离最近的点所在的线段序号;如实际需要将NCS的首线段移出,作上标志;
步骤73,生成移出线段的集合ECS;
步骤74,判断ECS是否为空,若判断是,直接结束该流程;若判断否,则执行下一步;
步骤75,NCS中除掉ECS中有的线段,修正NCS;
步骤76,关键区轮廓线用NCS替换;
步骤77,NCS增加一条末尾线段,线段首端点为原NCS的最后一个端点,尾端点为原NCS的第一个端点,使NCS成为闭合线段集;
步骤78,用NCS中的拟合线段集生成需要的闭合区域,结束该流程。
9.根据权利要求5所述的一种PCB板智能检测系统的模板关键区的生成方法,其特征在于,基于模板特征的一个关键点生成该特征,关于该关键点的一个关键区轮廓线和一个用于检测的关键区域的方法为:
步骤81,输入模板特征轮廓线;
步骤82,初次生成相应的关键区轮廓;
步骤83,整理并生成特征正确关键区轮廓线;
步骤84,由正确关键区轮廓线生成一个关键区。
10.一种电子设备,其特征在于,包括:
处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210145187.9A CN114489914B (zh) | 2022-02-17 | 2022-02-17 | 一种pcb板智能检测系统的模板关键区的生成方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210145187.9A CN114489914B (zh) | 2022-02-17 | 2022-02-17 | 一种pcb板智能检测系统的模板关键区的生成方法、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489914A CN114489914A (zh) | 2022-05-13 |
CN114489914B true CN114489914B (zh) | 2022-11-29 |
Family
ID=81482379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210145187.9A Active CN114489914B (zh) | 2022-02-17 | 2022-02-17 | 一种pcb板智能检测系统的模板关键区的生成方法、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489914B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744247A (zh) * | 2021-09-03 | 2021-12-03 | 西安建筑科技大学 | 一种pcb焊点缺陷识别方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101713635B (zh) * | 2008-10-06 | 2012-03-21 | 鸿富锦精密工业(深圳)有限公司 | 印刷电路板及其定位系统和方法 |
CN105335570B (zh) * | 2015-11-24 | 2018-11-06 | 深圳市兴森快捷电路科技股份有限公司 | 一种基于元器件管脚连接关系进行网表比较的方法 |
CN111080615B (zh) * | 2019-12-12 | 2023-06-16 | 创新奇智(重庆)科技有限公司 | 基于卷积神经网络的pcb缺陷检测系统及检测方法 |
-
2022
- 2022-02-17 CN CN202210145187.9A patent/CN114489914B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744247A (zh) * | 2021-09-03 | 2021-12-03 | 西安建筑科技大学 | 一种pcb焊点缺陷识别方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114489914A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102048638B1 (ko) | 콘텐츠 인식 방법 및 시스템 | |
US8612371B1 (en) | Computing device and method using associative pattern memory using recognition codes for input patterns | |
CN115421672B (zh) | 一种基于芯片的数据存储方法、系统及存储介质 | |
CN114489914B (zh) | 一种pcb板智能检测系统的模板关键区的生成方法、电子设备 | |
CN112598015A (zh) | 缺值补偿方法、缺值补偿系统及非暂态计算机可读取媒体 | |
CN107203755B (zh) | 一种用于遥感图像时间序列标记样本自动增新的方法、装置和系统 | |
JPWO2020059084A1 (ja) | 学習装置およびパターン認識装置 | |
CN117853826B (zh) | 基于机器视觉的物体表面精度识别方法及相关设备 | |
CN110781100B (zh) | 一种数据检测方法、逻辑芯片及网络设备 | |
JPS62263404A (ja) | パタ−ン検査装置 | |
JPH0954787A (ja) | 回路シミュレーション装置 | |
JP2753427B2 (ja) | 2値化閾値設定装置 | |
JPH05264240A (ja) | 外観検査装置 | |
Aljuaidi et al. | An Efficient Visual Place Recognition System by Predicting Unique Features | |
JPS62228150A (ja) | 欠陥識別装置 | |
TW202303450A (zh) | 目標對象檢測方法、電子設備及儲存介質 | |
JPS59103483A (ja) | 2値判別方式 | |
JP2023026031A (ja) | 検査プログラム、検査方法、および情報処理装置 | |
CN113807476A (zh) | 一种开关设备温度在线监测系统配置方法及装置 | |
JPH0546761A (ja) | 図面自動入力装置の線種認識方法 | |
JPH02202687A (ja) | 類似文字判別方法 | |
JPH02150920A (ja) | 最大値データ検索方式 | |
CN111339360A (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN110991296A (zh) | 视频标注方法、装置、电子设备及计算机可读存储介质 | |
JPH0627640A (ja) | パターン欠陥の検査方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |