一种基于图像识别的电气元件报价方法与流程

文档序号:11520263阅读:240来源:国知局
一种基于图像识别的电气元件报价方法与流程

本发明涉及一种基于图像识别的电气元件报价方法,尤其涉及利用图像识别技术对电气设计图的表格进行分割、元件名称识别、数据库匹配报价的电气元件报价方法。



背景技术:

近年来,随着现代化技术的发展,曾经的纸质化办公方式正渐渐被“无纸化办公”所替代。由于现在处于新旧交替的特殊时期,仍有许多纸质信息需要通过人工将数据导入到计算机系统中,而大量的纸质数据信息和人工输入不可避免的错误率,使得自动化信息采集系统具有非常重要的意义。

为了解决自动化纸质信息提取的问题,国内外学术界、工业界提出了很多方案。其中与本发明较为接近的技术方案包括:谢亮(表格识别预处理技术与表格字符提取算法的研究[d].中山大学,2005)该系统在图像二值化算法的基础上,针对手写表格文档提出了一种基于非线性对比度增强及log算子的混合二值化方法,针对表格文档图像,在hough变换的基础上提出了一种带参数约束条件的hough变换——htpc,实现了对表格文档图像的快速倾斜角检测及校正,通过ctf过程准确地定位并提取出表格的所有单元格,再通过eccea方法完整地提取出表格中的字符,然后利用基于连通区域检测的去噪算法对图像进行去噪,最后对字符图像进行平滑化处理,解决表格文档中手写字符经常重叠表格边框线的问题,该系统针对阿拉伯数字具有良好的识别率,但在中文字符识别效率上没有太多的说明,且实验样本噪音较少;王科俊(印刷体表格识别的研究[d].哈尔滨工程大学,2013)将灰度图像转化为二值图像,并采用改进的hough变换完成倾斜校正,利用文档图像的版面分析提取图像中的表格区域,采用了传统的投影法与基于直线搜索相结合的算法完成表格线的检测与提取,将图像中的横向与纵向表格线重组成表格框架,最后,利用ocr技术完成数据的识别,并将其写入已经提取的表格框架中,完成表格图像的重绘。该系统对印刷体简单表格的识别上有较好的识别率,图像样本文件噪声较少,文字识别上较为简单;周壮(表格识别系统中框线检测与去除的算法研究[d].辽宁科技大学,2015)在表格识别的基础上,实现在原图像上去除表格框线,该系统实现字符与笔画叠加的情况下去除框线同时保留字符笔画,但该系统样本图像噪声较少,在噪声处理方面涉及较少;发明专利(申请号:cn201610057218.x,名称:图像超高密度椒盐噪声的降除方法)公开了一种图像超高密度椒盐噪声的降除方法,主要解决现有方法无法滤除超高密度椒盐噪声的问题,与本发明不同的地方在于,其用极值方法检测噪声点,用均值的方法处理噪声点,这样处理会造成原本图像部分信息的丢失,特别是文字中的边缘信息的丢失,严重影响文字识别效果。

综上所述,当前表格识别处理技术方案中,存在如下不足:(1)并未考虑到像电气元件报价单这样有高噪声情况下的识别效率,采用的图像样本噪声处理较为简单;

(2)系统在阿拉伯数字上的识别上较成熟,但在高噪声样本中的汉字识别方面的工作较少有涉及;

(3)在降噪处理技术方案上,未权衡噪声点去除和文字信息保留之间的平衡关系,在处理噪声点的时候会同时消除部分关键的文字边缘信息。

在电气元件报价方法中,控制高密度椒盐噪声处理粒度和文字边缘信息保留之间的平衡关系非常重要,高密度椒盐噪声会造成文字识别率过低,但在处理噪声的同时会影响文字边缘信息,而降低文字识别率。而本发明中的降噪策略,针对电气元件报价单这种有高密度噪声点的印刷体表格文件,能较好的对其进行处理。



技术实现要素:

为了克服现有纸质电气元件报价单信息录入的问题,本发明提供了一种基于图像识别的电气元件报价方法。

所述的一种基于图像识别的电气元件报价方法,其特征在于包括如下步骤:

步骤1:读入电气设计图的扫描图像f1;

步骤2:对扫描图像f1进行倾斜校正,为倾斜校正后的图像f2;

步骤3:对校正图像f2进行表格切割,具体为:

步骤3.1:采用hough方法对校正图像f2再次进行直线检测,并分类得到垂直直线集合lv={(lvi,xi)|i=1,2,…,nv}和水平直线集合lh={(lhj,yj)|j=1,2,…,nh},其中xi表示垂直直线lvi的横坐标,nv表示集合lv中的元素数量,yj表示水平直线lhj的纵坐标,nh表示集合lh中的元素数量;

步骤3.2:垂直直线合并,具体为:若垂直直线集合lv中存在nvs条直线,记为集合lvs={(lvi,xi)|i=1,2,…,nvs,(lvi,xi)∈lv},且这nvs条直线中的任意两条直线lvi与lvj满足|xi-xj|≤λ,则将这nvs条直线合并成为一条直线(lvk,xk)加入到集合lv中,并将集合lv中对应的nvs条直线去除,其中横坐标xk根据式(3)计算,λ表示事先给定的直线合并阈值;重复这一过程直到lv中无直线可合并,得到新的垂直直线集合lv;

步骤3.3:根据步骤3.2相同的原理对水平直线进行合并,得到新的水平直线集合lh;

步骤3.4:将新的垂直直线集合lv划分为q个子集,记为lvtk={(lvki,xki)|i=1,2,…,nk,(lvki,xki)∈lv},k=1,2,…,q,且每个子集需满足条件:(1)子集lvtk中的nk条直线连续相邻;(2)计算lvtk中相邻直线的间距,得到间距集合lvak={aki|i=1,2,…,nk-1,aki=|xki-xki+1|},须满足|ap-ar|≤μ且p∈{1,2,…,nk-1}且r∈{1,2,…,nk-1}且|p-r|=1;其中,lvtk表示第k个子集,lvki表示子集lvtk中第i条直线,xki表示直线lvki对应的横坐标,nk表示第k个子集的直线数量,μ表示事先选定的间距阈值;将这q个子集中nk最大的子集记为lvtmax={(lvmaxi,xmaxi)|i=1,2,…,nvmax,(lvmaxi,xmaxi)∈lv};

步骤3.5:根据步骤3.4相同的原理找到水平直线集合lh中的子集lhtmax={(lhmaxj,ymaxj)|j=1,2,…,nhmax,(lhmaxj,ymaxj)∈lh};

步骤3.6:计算得到包含h行w列的单元格集合c={rij=(xij,yij,wij,hij)|i=1,2,…,h,j=1,2,…,w},具体为:

式中,h=nhmax-1,w=nvmax-1,xij表示第i行第j列单元格左上角的横坐标,yij表示第i行第j列单元格左上角的纵坐标,wij表示第i行第j列单元格的宽度,hij表示第i行第j列单元格的高度,xmaxj表示垂直直线lvmaxj的横坐标,且(lvmaxj,xmaxj)∈lvamax,ymaxi表示水平直线lhmaxi的纵坐标,且(lhmaxi,ymaxi)∈lhamax;

步骤3.7:根据单元格集合c进行表格切割;

步骤4:针对每个单元格rij进行降噪与文字识别处理,得到对应的文字tij;

步骤5:每个单元格文字tij与价格表tb={(typei,pi)|i=1,2,…,t}进行匹配,得到该单元格对应元件的价格,具体策略为:若存在k使tij=typek,则pk即为该元件的报价;否则,从任意typek对应的语义库tbsk={wkq|q=1,2,…,tk}中去匹配,若存在k使wk=tij,则pk即为该元件的报价,若仍无法匹配,则手工输入tij对应的价格pi′,同时将(tij,pi′)添加到价格表tb中;其中,tb表示事先录入到数据库中的价格表,t表示已经录入的元件数量,typei表示价格表tb中第i类元件的名称,pi表示价格表tb中第i类元件的价格,tbsk表示与第k类元件typek对应的语义库,wkq表示语义库tbsk中第k个元件名称,tk表示语义库tbsk中的语义数量。

所述的一种基于图像识别的电气元件报价方法,其特征在于步骤2)对扫描图像f1进行倾斜校正的具体过程为:

步骤2.1:采用hough方法进行直线检测,提取扫描图像f1中的直线,得到直线集合l={li|i=1,2,…,n},n表示直线数量;

步骤2.2:求直线li与水平线的夹角,记为ai,从l取得那些ai满足式(1)的直线构成子集ls={(lsj,bj)|j=1,2,…,m,lsj∈l},其中bj表示直线lsj与水平线的夹角,m表示子集ls中的元素数量;根据式(2)计算得到扫描图像f1的倾斜角a:

|ai|≤a0(1)

其中a0表示事先选定的倾斜角阈值;

步骤2.3:根据倾斜角度a,利用旋转矩阵对图像进行旋转,旋转后的图像即为倾斜校正后的图像f2。

所述的一种基于图像识别的电气元件报价方法,其特征在于步骤2.2)中的提取出的直线需要进行分类,分为水平直线和垂直直线两类;水平提取直线和水平线的角度在0°~30°或150°~180°之间,垂直提取直线和水平线的角度在60°~120°之间,根据其直线的类型,计算出所有直线的倾斜角度,取其中间值作为倾斜角度:

所述的一种基于图像识别的电气元件报价方法,其特征在于步骤4)的针对每个单元格rij进行降噪与文字识别处理具体为:

步骤4.1:从图像f2截取与单元格rij对应的彩色子图sij,并将其拆分分别对应于红、绿、蓝三个单通道的灰度图像srij,sgij和sbij;

步骤4.2:对每个通道图像srij,sgij和sbij都进行半径为rmedian的自适应中值滤波,rmedian为事先给定的滤波器半径;

步骤4.3:在每个通道图像中都存在wsij*hsij个像素点,通道图像srij中,存在集合psrij={(xsmn,ysmn,vsrmn)|m=1,2,…,wsij,n=1,2,…,hsij},其中wsij为单元格rij的宽度,hsij为单元格rij的高度,xsmn为图像srij中坐标点的横坐标,ysmn为图像srij中坐标点的纵坐标,vsrmn为通道图像srij中坐标点(xsmn,ysmn)的像素值;同理,通道图像sgij中存在集合psgij={(xsmn,ysmn,vsgmn)|m=1,2,…,wsij,n=1,2,…,hsij},通道图像sbij中存在集合psbij={(xsmn,ysmn,vsbmn)|m=1,2,…,wsij,n=1,2,…,hsij},其中vsgmn和vsbmn分别为通道图像sgij和sbij在坐标点(xsmnysmn)的像素值;若满足在坐标点(xsmn,ysmn)上,三通道的像素值满足vsrmn>ε∨vsgmn>ε∨vsbmn>ε,则将该坐标点的三通道像素值vsrmn、vsgmn和vsbmn都设置为vback,其中ε和vback分别为事先给定的降噪阈值和背景像素值;

步骤4.4:对各通道再次进行半径为rmedian的自适应中值滤波;

步骤4.5:对三个通道图像srij,sgij和sbij进行合并,得到新的彩色子图sij;

步骤4.6:对彩色子图sij进行高斯核半径为rgauss的高斯滤波;

步骤4.7:利用ocr技术对彩色子图sij进行文字识别,得到文字tij。通过采用上述技术,与现有技术相比,本发明的有益效果如下:本发明通过自动实现图像矫正,识别电气元件报价单中表格位置,自动提取表格中文字信息,得出具体每个电气元件的报价,减少了繁琐的人工信息输入过程,且大大降低了因人工输入信息造成的输入错误率问题。

附图说明

图1为本发明的实施样例选取的电气元件报价单图像像灰度图;

图2为本发明的经过步骤1.1处理后获取直线的报价单图像灰度图;

图3为本发明的经过步骤1.3旋转矫正后的报价单图像灰度图;

图4为本发明的经过步骤2.4表格分割后的报价单中单元格图像灰度图;

图5为本发明的经过步骤3.2第一次分通道适应性平滑处理后的单元格图像灰度图;

图6为本发明的经过步骤3.4第二次分通道适应性平滑处理后的单元格图像灰度图;

图7为本发明的经过步骤3.5合并通道图像的单元格图像灰度图;

图8为本发明的经过步骤3.6高斯滤波之后的单元格图像灰度图。

具体实施方法

下面结合实施实例来详细阐述本发明电气元件报价系统的具体实施方式,但本发明的保护范围并不仅限于此。

本发明的一种基于图像识别的电气元件报价方法,包括如下步骤:

步骤1:读入电气设计图的扫描图像f1,原图灰度图如图1所示;

步骤2:对扫描图像f1进行倾斜校正,具体为:

步骤2.1:采用hough方法进行直线检测,提取扫描图像f1中的直线,得到直线集合l={li|i=1,2,…,n},n表示直线数量,图像直线获取图灰度图如图2所示;由于电气元件报价单中利用了表格进行信息排版,图像中较长的直线都来自于表格中的各条边,因此,确定图像中的各条边的位置便能找到图中表格的位置;

步骤2.2:求直线li与水平线的夹角,记为ai,从l取得那些ai满足式(1)的直线构成子集ls={(lsj,bj)|j=1,2,…,m,lsj∈l},其中bj表示直线lsj与水平线的夹角,m表示子集ls的数量;根据式(2)计算得到扫描图像f1的倾斜角a根据直线和水平线之间的夹角,判断表格倾斜角度,由于提取出的直线皆为表格中的各条边,因此直线之间的关系,不是互相平行就是相互垂直,因此需要将直线进行分类,分为水平直线和垂直直线两类;水平提取直线和水平线的角度在0°~30°和150°~180°之间,垂直提取直线和水平线的角度在60°~120°之间,根据其直线的类型,计算出所有直线的倾斜角度;考虑到部分直线的误差情况,统计出所有直线的倾斜角度,取其中间值作为倾斜角度:

|ai|≤a0(1)

其中a0表示倾斜角阈值,在本实例中,a0=20°;

步骤2.3:根据倾斜角度a,利用旋转矩阵对图像进行旋转,旋转后的图像即为倾斜校正后的图像f2,旋转矫正后图像灰度图如图3所示;

步骤3:对校正图像f2进行表格切割,具体为:

步骤3.1:采用hough方法对校正图像f2再次进行直线检测,并分类得到垂直直线集合lv={(lvi,xi)|i=1,2,…,nv}和水平直线集合lh={(lhj,yj)|j=1,2,…,nh},其中xi表示垂直直线lvi的横坐标,nv表示集合lv中的数量,yj表示水平直线lhj的纵坐标,nh表示集合lh中的数量;

步骤3.2:垂直直线合并,具体为:若垂直直线集合lv中存在任意nvs条直线,记为集合lvs={(lvi,xi)|i=1,2,…,nvs,(lvi,xi)∈lv},且lvs中的任意两条直线lvi与lvj满足|xi-xj|≤λ,则将这nvs条直线合并成为一条直线(lvk,xk)加入到集合lv中,并将集合lv中对应的nvs条直线去除,其中横坐标xk根据式(3)计算,λ表示事先给定的直线合并阈值,在本实例中λ=5;重复这一过程直到lv中无直线可合并,得到新的垂直直线集合lv,第一次分通道适应性平滑处理后的单元格图像灰度图如图5所示;

步骤3.3:根据步骤3.2相同的原理对水平直线进行合并,得到新的水平直线集合lh;

步骤3.4:进一步,将新的垂直直线集合lv划分为q个子集,记为lvtk={(lvki,xki)|i=1,2,…,nk,(lvki,xki)∈lv},k=1,2,…,q,且每个子集需满足条件:(1)子集lvtq中的nq条直线连续相邻;(2)计算lvtk中相邻直线的间距,得到间距集合lvak={aki|i=1,2,…,nk-1,aki=|xki-xki+1|},须满足|ap-ar|≤μ且p∈{1,2,…,nk-1}且r∈{1,2,…,nk-1}且|p-r|=1;其中,lvtk表示第k个子集,lvki表示子集lvtk中第i条直线,xki表示直线lvki对应的横坐标,nk表示第k个子集的直线数量,μ表示事先选定的间距阈值;将这q个子集中nk最大的子集记为lvtmax={(lvmaxi,xmaxi)|i=1,2,…,nvmax,(lvmaxi,xmaxi)∈lv};在本实例中,间距阈值μ=5;

步骤3.5:根据步骤3.4相同的原理找到水平直线集合lh中的子集lhtmax={(lhmaxj,ymaxj)|j=1,2,…,nhmax,(lhmaxj,ymaxj)∈lh};

步骤3.6:

计算得到包含h行w列的单元格集合c={rij=(xij,yij,wij,hij)|i=1,2,…,h,j=1,2,…,w},具体为:

式中,h=nhmax-1,w=nvmax-1,xij表示第i行第j列单元格左上角的横坐标,yij表示第i行第j列单元格左上角的纵坐标,wij表示第i行第j列单元格的宽度,hij表示第i行第j列单元格的高度,xmaxj表示垂直直线lvmaxj的横坐标,且(lvmaxj,xmaxj)∈lvamax,ymaxi表示水平直线lhmaxi的纵坐标,且(lhmaxi,ymaxi)∈lhamax;

步骤3.7:根据单元格c对表格进行切割,切割后图像灰度图如图4所示;

步骤4:针对每个单元格rij进行降噪与文字识别处理,得到对应的文字tij,具体为:

步骤4.1:从图像f2截取与单元格rij对应的彩色子图sij,并将其拆分分别对应于红、绿、蓝三个单通道的灰度图像srij,sgij和sbij;

步骤4.2:对每个通道图像srij,sgij和sbij都进行半径为rmedian的自适应中值滤波,rmedian为事先给定的滤波器半径;

步骤4.3:在每个通道图像中都存在wsij*hsij个像素点,通道图像srij中,存在集合psrij={(xsmn,ysmn,vsrmn)|m=1,2,…,wsij,n=1,2,…,hsij},其中wsij为单元格rij的宽度,hsij为单元格rij的高度,xsmn为图像srij中坐标点的横坐标,ysmn为图像srij中坐标点的纵坐标,vsrmn为通道图像srij中坐标点(xsmn,ysmn)的像素值;同理可知,通道图像sgij中存在集合psgij={(xsmn,ysmn,vsgmn)|m=1,2,…,wsij,n=1,2,…,hsij},通道图像sbij中存在集合psbij={(xsmn,ysmn,vsbmn)|m=1,2,…,wsij,n=1,2,…,hsij},其中vsgmn和vsbmn分别为通道图像sgij和sbij在坐标点(xsmnysmn)的像素值;若满足在坐标点(xsmn,ysmn)上,三通道的像素值满足vsrmn>ε∨vsgmn>ε∨vsbmn>ε,则将该坐标点的三通道像素值vsrmn、vsgmn和vsbmn都设置为vback,其中ε和vback分别为事先给定的降噪阈值和背景像素值;步骤4.4:对各通道再次进行半径rmedian=1的自适应中值滤波;第二次平滑处理后的图像灰度图如图6所示;

步骤4.5:对三个通道图像srij,sgij和sbij进行合并,得到新的彩色子图sij,处理后合并图像,其灰度图如图7所示;

步骤4.6:对彩色子图sij进行高斯滤波,在本实例中,高斯核半径取rgauss=3,高斯滤波后图像灰度图如图8所示;

步骤4.7:利用ocr技术对彩色子图sij进行文字识别,得到文字tij;

步骤5:每个单元格文字tij与价格表tb={(typei,pi)|i=1,2,…,t}进行匹配,得到该单元格对应元件的价格,具体策略为:若存在k使tij=typek,则pk即为该元件的报价;否则,从任意typek对应的语义库tbsk={wkq|q=1,2,…,tk}中去匹配,若存在k使wk=tij,则pk即为该元件的报价,若仍无法匹配,则手工输入tij对应的价格p′i,同时将(tij,p′i)添加到tb中e;其中,tb表示事先录入到数据库e中的价格表,t表示已经录入的元件数量,typee表示价格表tb中第i类元件的名称,pi表示价格表tb中第i类元件的价格,tbse表示与第k类元件typee对应的语义库,wkq表示语义库tbsk中第e个元件名称,tk表示语义库tbsk中的语义数量。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

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