一种逻辑电路图信息提取的机器视觉检测算法的制作方法

文档序号:17187199发布日期:2019-03-22 21:27阅读:372来源:国知局
一种逻辑电路图信息提取的机器视觉检测算法的制作方法

本发明涉及电学技术领域,具体为一种逻辑电路图信息提取的机器视觉检测算法。



背景技术:

逻辑电路是一种离散信号的传递和处理,以二进制为原理、实现数字信号逻辑运算和操作的电路,前者由最基本的“与门”电路、“或门”电路和“非门”电路组成,其输出值仅依赖于其输入变量的当前值,与输入变量的过去值无关—即不具记忆和存储功能;后者也由上述基本逻辑门电路组成,但存在反馈回路—它的输出值不仅依赖于输入变量的当前值,也依赖于输入变量的过去值。由于只分高、低电平,抗干扰力强,精度和保密性佳,广泛应用于计算机、数字控制、通信、自动化和仪表等方面,最基本的有与电路、或电路和非电路,逻辑电路主要包括内容有数字电子技术(几种逻辑电路)、门电路基础(半导体特性,分立元件、ttl集成电路cmos集成门电路)、组合逻辑电路(加法器、编码器、译码器等集成逻辑功能)时序逻辑电路(计数器、寄存器)以及数模和模数转换。

电路图是指用电路元件符号表示电路连接的图,电路图是人们为研究、工程规划的需要,用物理电学标准化的符号绘制的一种表示各元器件组成及器件关系的原理布局图,由电路图可以得知组件间的工作原理,为分析性能、安装电子、电器产品提供规划方案,在设计电路中,工程师可从容在纸上或电脑上进行,确认完善后再进行实际安装,通过调试改进、修复错误、直至成功,采用电路仿真软件进行电路辅助设计、虚拟的电路实验,可提高工程师工作效率、节约学习时间,使实物图更直观,采用图像识别算法提取逻辑电路图中的电路信息,转换为文本描述,使其文本格式适应不同的电路设计软件,然后,可将此文本导入到电路设计软件,自动化生成逻辑图,从而大大简化逻辑电路图的复现过程。便于进一步的逻辑分析。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种逻辑电路图信息提取的机器视觉检测算法,解决了现有人们需要花费大量的时间对电路图进行分析、转化和绘制逻辑图,不能实现通过智能算法对电路图进行智能识别,自动提取转化成逻辑图,从而给人们对电路图的进一步的逻辑分析带来了极大不便的问题。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:一种逻辑电路图信息提取的机器视觉检测算法,具体包括以下步骤:

s1、多引脚元件信息提取的颜色阈值:采用colorthreshold颜色阈值算法,获取多引脚元件的位置信息,首先选择rgb颜色模型,根据多引脚元件名的颜色,设置阈值门限,可过滤掉多引脚元件名的颜色以外的颜色,经过颜色阈值算法之后,可得到二值图像,然后删除小目标函数的作用就是将图像中的小的目标删除掉,使图像更简洁,小的目标的大小是通过腐蚀次数iterations来定义的,定义的腐蚀次数越大,则过滤删除的小目标面积也就越大,之后进行一个灰度级的膨胀,来增加了每个像素的亮度,当这些像素点的领域有更高的强度时,对于一个给定的像素点p0,使用结构元素处理后,p0的值将变成结构元素对应下的领域中的最大值,即p0=max(pi),pi为结构化元素对应下的领域中的像素值,之后通过粒子分析函数对图像中的粒子进行形状检测;

s2、多引脚元件信息提取的ocr字符识别:针对逻辑电路图例,首先需要训练字符,创建一个字符集,然后通过元件名的位置信息,设置roi兴趣区域,从而得到元件的名称;

s3、多引脚元件的位置大小识别:根据s2中的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,然后求交叉点,确定部件边框大小及位置,之后求取边缘直线的交叉点即可获得元件位置信息;

s4、独立元件名称定位:首先通过图像掩膜创建一个掩模,将多引脚元件掩模掉,然后对图像掩模之后的图像运用灰度阈值函数,从而获得独立元件的位置信息,之后进行粒子过滤处理,粒子过滤函数可根据粒子面积设置过滤条件,过滤掉逻辑电路图中的线条,保留独立元件名的粒子,删除小目标函数的作用就是将图像中的小的目标删除掉,使图像更简洁,选择合适的膨胀系数,使二值图像中的字符连接成一个完整的字符串粒子,之后通过粒子分析函数,可以获取多引脚元件的名称的位置信息,最后通过元件名的位置信息及ocr字符识别模块,获取多引脚元件的元件名;

s5、独立元件的位置大小识别:根据s4中粒子分析的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,求交叉点,确定部件边框大小及位置,求取边缘直线的交叉点即可获得元件位置信息;

s6、独立引脚元件引脚检测:采用模式匹配算法来获取独立引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取独立引脚元件的输出引脚方向及位置信息;

s7、多引脚元件引脚检测:用模式匹配算法来获取多引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取多引脚元件的输出引脚方向及位置信息;

s8、元件输入输出引脚:总结独立引脚元件个多引脚元件的输入引脚信息,得到图像中所有输入引脚点的信息,添加到输入端子信息集合,总结元件输出引脚信息,得到图像中所有输出引脚点的信息,添加到输出端子信息集合,供下一步检测逻辑线路关系时使用;

s9、连线关系检测:采用模式掩模算法,根据元件外边框位置信息值,设置合适的感兴趣区域roi值,去掉元件边框的影响,只专注于元件之间的连线关系,然后采用模式匹配模式算法,检测连线关系中的结点位置,之后通过形状检测隐函数对图像中的直线进行检测,得到每条直线的起点、终点坐标和角度值,最后采用深度优先搜索算法,得到连线路径信息;

s10、数据处理:将元件名称及位置、大小信息,元件有效引脚的输入输出方向及位置信息,输入取非点的个数及位置信息,以及各个输入输出端子之间的逻辑连线关系的机器视觉检测结果,用文本的方式描述出来,按照各种不同的规则编辑成不同的文本格式,即可满足不同的电路设计软件需求,完成自动化的逻辑电路生成。

优选的,所述步骤s1中colorthreshold颜色阈值算法可将彩色图像转换成二值图像,图像的转换是比较像素的过程,在比较两个像素时,如果rgb的颜色值的差异小于颜色阈值,则可以认为这两个像素时相同的颜色,因此,颜色阈值越高,则颜色数量较少,且颜色阈值一般有四种颜色模型:rgb红绿蓝模型、hsl色调模型、hsv色调模型和hsi强度模型,具体的颜色模型选择可以根据需要进行选择。

优选的,所述步骤s1中结构元素的尺寸增加时,膨胀效果也会更剧烈,结构元素变大时,膨胀效果也会变剧烈。重复次数增加时,相当于进行了多次膨胀,效果更明显,选择合适的膨胀系数,使二值图像中的字符连接成一个完整的字符串粒子。

优选的,所述步骤s1中粒子分析函数是基于粒子测量的,通过粒子分析函数,可以得到图像中粒子的总数,及各个粒子的形状信息,在此处,仅需获取粒子外接矩形的具体坐标值即可通过粒子分析函数获取多引脚元件的名称的位置信息。

优选的,所述步骤s2中的ocr光学字符识别是通过机器视觉软件在图像中读取字符与文本的处理过程,ocr包含训练和读取验证两个阶段。

优选的,所述步骤s4中的图像掩膜是为创建一个掩模从整幅图像或者一个选择的感兴趣区域roi,兴趣区域内为1,兴趣区域外为0,然后与带处理的图像相乘,使其图像兴趣区域内的图像得以保留,而在兴趣区域外的图像则全部变位黑色。

优选的,所述步骤s9中形状检测隐函数是根据特征的几个特征进行检测,使用这个函数,根据指定的几何条件,可以查找指定位圆、椭圆、矩形和直线,这个函数可以认为是轮廓分析的一种进化函数,轮廓分析只是检测出想要的特征的轮廓,而形状检测则不仅需要知道目标的几何特征,还需要根据可能的轮廓来判断其属于什么形状,从而找到指定的形状。

优选的,所述步骤s9中深度优先搜索算法所遵循的搜索策略是尽可能“深”的搜索树,为了求得问题的解,先选择摸一种可能情况向前子节点搜索,在搜索过程中,一旦发现原来的选择不符合要求,就回溯到父节点重新选择另一个节点,继续向前探索,如此反复进行,知道求得最优解,深度优先搜索的实现方式可以采用递归实现。

(三)有益效果

本发明提供了一种逻辑电路图信息提取的机器视觉检测算法。与现有技术相比具备以下有益效果:该逻辑电路图信息提取的机器视觉检测算法,通过在s1、多引脚元件信息提取的颜色阈值:采用colorthreshold颜色阈值算法,获取多引脚元件的位置信息,首先选择rgb颜色模型,根据多引脚元件名的颜色,设置阈值门限,可过滤掉多引脚元件名的颜色以外的颜色,经过颜色阈值算法之后,可得到二值图像,s2、多引脚元件信息提取的ocr字符识别:针对逻辑电路图例,首先需要训练字符,创建一个字符集,然后通过元件名的位置信息,设置roi兴趣区域,从而得到元件的名称,s3、多引脚元件的位置大小识别:根据s2中的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,然后求交叉点,确定部件边框大小及位置,之后求取边缘直线的交叉点即可获得元件位置信息,s4、独立元件名称定位:首先通过图像掩膜创建一个掩模,将多引脚元件掩模掉,然后对图像掩模之后的图像运用灰度阈值函数,从而获得独立元件的位置信息,之后进行粒子过滤处理,粒子过滤函数可根据粒子面积设置过滤条件,过滤掉逻辑电路图中的线条,s5、独立元件的位置大小识别:根据s4中粒子分析的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,求交叉点,确定部件边框大小及位置,求取边缘直线的交叉点即可获得元件位置信息,s6、独立引脚元件引脚检测:采用模式匹配算法来获取独立引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取独立引脚元件的输出引脚方向及位置信息,s7、多引脚元件引脚检测:用模式匹配算法来获取多引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取多引脚元件的输出引脚方向及位置信息,s8、元件输入输出引脚:总结独立引脚元件个多引脚元件的输入引脚信息,得到图像中所有输入引脚点的信息,添加到输入端子信息集合,总结元件输出引脚信息,s9、连线关系检测:采用模式掩模算法,根据元件外边框位置信息值,设置合适的感兴趣区域roi值,去掉元件边框的影响,只专注于元件之间的连线关系,s10、数据处理:将机器视觉检测的结果用文本的方式描述出来,按照各种不同的规则编辑成不同的文本格式,即可满足不同的电路设计软件需求,完成自动化的逻辑电路生成,可实现通过采用图像识别算法提取逻辑电路图中的电路信息,转换为文本描述,使其文本格式适应不同的电路设计软件,然后,可将此文本导入到电路设计软件,自动化生成逻辑图,从而大大简化逻辑电路图的复现过程,便于进一步的逻辑分析,无需人们花费大量的时间对电路图进行分析、转化和绘制逻辑图,实现了通过智能算法对电路图进行智能识别,自动提取转化成逻辑图。

附图说明

图1为本发明连线关系搜索流程图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供一种技术方案:一种逻辑电路图信息提取的机器视觉检测算法,具体包括以下步骤:

s1、多引脚元件信息提取的颜色阈值:采用colorthreshold颜色阈值算法,获取多引脚元件的位置信息,首先选择rgb颜色模型,根据多引脚元件名的颜色,设置阈值门限,可过滤掉多引脚元件名的颜色以外的颜色,经过颜色阈值算法之后,可得到二值图像,然后删除小目标函数的作用就是将图像中的小的目标删除掉,使图像更简洁,小的目标的大小是通过腐蚀次数iterations来定义的,定义的腐蚀次数越大,则过滤删除的小目标面积也就越大,之后进行一个灰度级的膨胀,来增加了每个像素的亮度,当这些像素点的领域有更高的强度时,对于一个给定的像素点p0,使用结构元素处理后,p0的值将变成结构元素对应下的领域中的最大值,即p0=max(pi),pi为结构化元素对应下的领域中的像素值,之后通过粒子分析函数对图像中的粒子进行形状检测,训练字符时值你教给机器视觉软件你需要在图像中读取的字符或模式类型,可以使用ocr来训练任一数量的字符,然后创建一个字符集,这个字符集会在后面的读取和验证过程中用来和目标做比较,存储这个字符集为一个字符集文件,这个训练过程也许是一次性的处理过程,或者需要重复处理很多次,创建多个字符集来扩展你想要在图像中读取的字符,即同样的一个字符也许你要考虑学习多种情况下的字符集,如图像比较亮时,图像比较暗是,有一定缺陷时,模糊不清时,不同的字体时,不同的大小时。

阅读字符就是通过你创建的处理图像的机器视觉应用软件来决定目标是否与你训练的字符相匹配,机器视觉应用程序会在图像中使用在训练过程中创建的字符集来读取字符,验证字符就是通过你创建的检查图像的机器视觉应用软件来验证它读取到的字符的质量,应用程序在图像中使用训练过程中创建的字符集中的参考字符来验证字符;

s2、多引脚元件信息提取的ocr字符识别:针对逻辑电路图例,首先需要训练字符,创建一个字符集,然后通过元件名的位置信息,设置roi兴趣区域,从而得到元件的名称;

s3、多引脚元件的位置大小识别:根据s2中的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,然后求交叉点,确定部件边框大小及位置,之后求取边缘直线的交叉点即可获得元件位置信息;

s4、独立元件名称定位:首先通过图像掩膜创建一个掩模,将多引脚元件掩模掉,然后对图像掩模之后的图像运用灰度阈值函数,从而获得独立元件的位置信息,灰度阈值函数可以将灰度图像转换成二值图像,阈值可以基于像素强度分割一副图像为不同的粒子区域和背景区域,对于图像中那些重要的结构和想集中分析的区域时,可以使用阈值来提取区域,阈值一副图像通常是各种各样的需要在二值图像上执行图像处理的机器视觉应用的第一步,如粒子分析、极品模板对比、二值粒子分类,之后进行粒子过滤处理,粒子过滤函数可根据粒子面积设置过滤条件,过滤掉逻辑电路图中的线条,保留独立元件名的粒子,删除小目标函数的作用就是将图像中的小的目标删除掉,使图像更简洁,选择合适的膨胀系数,使二值图像中的字符连接成一个完整的字符串粒子,之后通过粒子分析函数,可以获取多引脚元件的名称的位置信息,最后通过元件名的位置信息及ocr字符识别模块,获取多引脚元件的元件名;

s5、独立元件的位置大小识别:根据s4中粒子分析的元件名位置信息,设置相应的roi区域,找到元件名四周的四条直线,求交叉点,确定部件边框大小及位置,求取边缘直线的交叉点即可获得元件位置信息;

s6、独立引脚元件引脚检测:采用模式匹配算法来获取独立引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取独立引脚元件的输出引脚方向及位置信息,模式匹配可以快速的定位一个灰度图像区域,这个灰度图像区域与一个已知的参考模式是匹配,模板是图像中特征的理想化表示形式,当使用模式匹配是,需要首先创建一个模板,这个模板代表了你要搜索的目标,然后机器视觉应用程序会在采集到的每个图像中搜索模板,并计算每个匹配的分数,这个分值表示了找到的匹配对象与模板的相似程度,分值从0-1000分,值越高表示越相似,1000分则是完美匹配,通常也只有在提取模板的图像中才有1000分的匹配高分,使用模式匹配可以决定位置和方向,通过匹配一个一直的目标定位基准点,通过基准点可以作为目标的参考点,建立参考坐标系,从而完成其他的测试测量,如尺寸、粒子分析等,注意在设置中心点的时候,其不在模板中心位置,需要设置一定的偏移值,使其横坐标与连线平行且重合,其纵坐标与元件外边框重合,此时搜索到的图像位置坐标,才能指示正确的输入引脚位置坐标值,根据独立元件的位置信息,设置合适的兴趣区域roi,采用模式匹配算法,匹配图像,得到其输入引脚的位置及方向信息,如果搜索到箭头模板,说明此元件为输入端子,如果搜索到取非点模板,说明此元件为输入端子,且为取非点输入,否则,没有搜索到任何箭头模板或者取非点模板,则说明此元件为输出端子,如果独立引脚元件为输出端子,则通过边缘检测算法,得到独立引脚元件的输出引脚位置信息,边缘检测就是在图像中沿着像素直线查找边缘,使用边缘检测工具来说和别和定位图像中像素强度的间断不连续点,间断点通常与像素强度值的突变相关,表示了摸个场景中的目标的边界,在图像中检测边缘,需要制定一个搜索区域来定位边缘,用户可以通过交互直径搜索区域或通过编程方式制定搜索区域,当使用交互是指定方式时,可以使用线型roi工具来选择你想要分析的搜索路径,也可以通过编程解决搜索区域,基于常量值或者前面的处理步骤的结果,根据独立引脚元件的外边框位置信息,来设置搜索区域;

s7、多引脚元件引脚检测:用模式匹配算法来获取多引脚元件的输入引脚方向及位置信息,然后采用边缘检测算法来获取多引脚元件的输出引脚方向及位置信息,根据多引脚元件的外边框位置值,设置相应的搜索区域,采用模式匹配算法,对前面的箭头的模板、取非点的模板进行搜索,得到每个多引脚元件的输入引脚信息,找到每个多引脚元件的输入引脚,对输入引脚坐标按照从低到高的顺序进行排序,对应每个多引脚元件输入引脚的位置相对值,确定每个输入引脚是否为有效的输入引脚,最终确定多引脚元件的输入引脚编号对应的输入方向及位置信息值,根据多引脚元件的外边框位置信息,来设置搜索区域,采用边缘检测算法,得到每个独立引脚元件的输出引脚位置坐标值,边缘检测,得到多引脚元件的输出端子坐标点,对应每个多引脚元件输出引脚的位置相对值,确定每个输出引脚是否为有效的输出应交,最总确定多引脚元件的输出引脚编号对应的输出方向及位置信息值;

s8、元件输入输出引脚:总结独立引脚元件个多引脚元件的输入引脚信息,得到图像中所有输入引脚点的信息,添加到输入端子信息集合,总结元件输出引脚信息,得到图像中所有输出引脚点的信息,添加到输出端子信息集合,供下一步检测逻辑线路关系时使用;

s9、连线关系检测:采用模式掩模算法,根据元件外边框位置信息值,设置合适的感兴趣区域roi值,去掉元件边框的影响,只专注于元件之间的连线关系,然后采用模式匹配模式算法,检测连线关系中的结点位置,之后通过形状检测隐函数对图像中的直线进行检测,得到每条直线的起点、终点坐标和角度值,最后采用深度优先搜索算法,得到连线路径信息,注意在建立模板的时候,此结点图像应该仅包含一个圆形的黑色区域,而不应该包含其相连接的直线,模式匹配检测结点个数及位置坐标值,将结点信息添加到结点信息集合,供下一步的逻辑线路关系检测时使用,然后采用图像掩模函数,掩模掉结点,得到纯净的连线图像,在书序与计算机中,递归是指在函数的定义中使用函数自身的方法,递归算法对解决一大类问题视十分有效的,它往往使算法的描述简洁而且易于理解,递归算法解决问题的特点:1、递归就是在过程或者函数里调用自身;2、在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口;3、递归算法解题通常显得很简介,但递归算法解题的运行效率较低;4、在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多同一造成栈溢出等,借助递归方法,可以把一个相对复杂得问题转化为一个与原问题相识的规模较小的问题来求解,递归方法只需要少量的程序就可以描述出解题过程所需要的次数重复计算,大大减少了程序的代码量,但在带来便捷的同时,也会有一些缺点,也即:通常使用递归方法的运行效率不高;

s10、数据处理:将元件名称及位置、大小信息,元件有效引脚的输入输出方向及位置信息,输入取非点的个数及位置信息,以及各个输入输出端子之间的逻辑连线关系的机器视觉检测结果,用文本的方式描述出来,按照各种不同的规则编辑成不同的文本格式,即可满足不同的电路设计软件需求,完成自动化的逻辑电路生成。

本发明中,步骤s1中colorthreshold颜色阈值算法可将彩色图像转换成二值图像,图像的转换是比较像素的过程,在比较两个像素时,如果rgb的颜色值的差异小于颜色阈值,则可以认为这两个像素时相同的颜色,因此,颜色阈值越高,则颜色数量较少,且颜色阈值一般有四种颜色模型:rgb红绿蓝模型、hsl色调模型、hsv色调模型和hsi强度模型,具体的颜色模型选择可以根据需要进行选择。

本发明中,步骤s1中结构元素的尺寸增加时,膨胀效果也会更剧烈,结构元素变大时,膨胀效果也会变剧烈。重复次数增加时,相当于进行了多次膨胀,效果更明显,选择合适的膨胀系数,使二值图像中的字符连接成一个完整的字符串粒子。

本发明中,步骤s1中粒子分析函数是基于粒子测量的,通过粒子分析函数,可以得到图像中粒子的总数,及各个粒子的形状信息,在此处,仅需获取粒子外接矩形的具体坐标值即可通过粒子分析函数获取多引脚元件的名称的位置信息。

本发明中,步骤s2中的ocr光学字符识别是通过机器视觉软件在图像中读取字符与文本的处理过程,ocr包含训练和读取验证两个阶段。

本发明中,步骤s4中的图像掩膜是为创建一个掩模从整幅图像或者一个选择的感兴趣区域roi,兴趣区域内为1,兴趣区域外为0,然后与带处理的图像相乘,使其图像兴趣区域内的图像得以保留,而在兴趣区域外的图像则全部变位黑色。

本发明中,步骤s9中形状检测隐函数是根据特征的几个特征进行检测,使用这个函数,根据指定的几何条件,可以查找指定位圆、椭圆、矩形和直线,这个函数可以认为是轮廓分析的一种进化函数,轮廓分析只是检测出想要的特征的轮廓,而形状检测则不仅需要知道目标的几何特征,还需要根据可能的轮廓来判断其属于什么形状,从而找到指定的形状。

本发明中,步骤s9中深度优先搜索算法所遵循的搜索策略是尽可能“深”的搜索树,为了求得问题的解,先选择摸一种可能情况向前子节点搜索,在搜索过程中,一旦发现原来的选择不符合要求,就回溯到父节点重新选择另一个节点,继续向前探索,如此反复进行,知道求得最优解,深度优先搜索的实现方式可以采用递归实现。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1