一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

纸质电力工程图纸扫描转化电子版CAD图纸的方法与流程

2022-05-26 20:18:54 来源:中国专利 TAG:

纸质电力工程图纸扫描转化电子版cad图纸的方法
技术领域
1.本发明属于电力工程图纸技术领域,具体涉及一种纸质电力工程图纸扫描转化电子版cad图纸的方法。


背景技术:

2.图纸是电力工程中最基础的生产资料之一,在项目施工、验收、运维、反措检查等工作中都发挥着非常重要的作用,所以在电力企业内也非常重视对电力工程图纸的归档和管理,在企业档案管理制度和反事故措施检查工作表单中都有明确的要求。
3.电力工程图纸既要求图实相符的唯一性,也具有多专业共用的广泛性。以往的电力图纸都是统一印发、归档、存放及专人维护的纸质图纸。随着计算机技术的发展,电力工程图纸逐渐实现了电子化,电子化图纸具有方便传输、查阅、保存和修改等便利性。在使用新的系统化、信息化、智能化的方案来管理电子化图纸的时候,如何处理已有的纸质电力工程图纸就是一个亟需解决的问题。为方便管理,应当将纸质的电力图纸的电子版进行存档管理,但因时间跨度的关系,电子档都已无从获取。
4.因此,将纸质电力工程图经过扫描转化为电子版cad图纸的方法显得尤为重要。


技术实现要素:

5.本发明的目的是为了解决现有技术的不足,提供一种纸质电力工程图纸扫描转化电子版cad图纸的方法,该方法解决了上述电力工程纸质图纸转换为电子版cad图纸的问题,利用深度学习中的目标检测结合基础的opencv对图片的操作,更加高效且准确的对纸质电力工程图纸进行目标检测与识别。
6.为实现上述目的,本发明采用的技术方案如下:纸质电力工程图纸扫描转化电子版cad图纸的方法,包括如下步骤:步骤(1),根据用户在扫描图片上的四角描点,计算扫描图片需要旋转的角度并进行旋转,根据描点坐标与旋转的角度来计算旋转后所描点的坐标,并根据这些坐标来对图片进行剪切以去除边框;步骤(2),将经步骤(1)剪切后的图片进行二值化和降噪处理;步骤(3),将经步骤(2)处理后的图片进行等大小的分割;步骤(4),对分割后的图片依次进行字符检测,根据字符检测的结果生成字符的外接正矩形;按外接正矩形进行裁剪,将一个个字符图片裁剪下来;然后将字符图片送入ocr模型进行识别,并根据识别的正确率进行结果筛选;步骤(5),对获得的字符坐标进行转换,获得字符区域所对应的原始坐标;步骤(6),根据字符区域原始坐标,在原图上对字符进行遮盖;将遮盖后的图片送入电气元件的检测模型中获得元件的识别结果;步骤(7),根据元件识别结果在原图上对元件进行遮盖,遮盖后的图片进行快速线条检测,对线条进行分类,将线条分为纵向线条、横向线条、斜线;对纵向线条和横向线条进
行连接合并;然后分别对三种线条进行聚类,得到线条的坐标和对应的线条宽度;步骤(8),在dxf文件中创建图层,并根据字符、元件、线条的识别结果在相应的图层中生成所需内容;所述的电气元件的检测模型采用mobilenet v3-yolo v3模型,mobilenet v3-yolo v3模型训练时,先将已有的元件的cad文件导出图片,然后采用人工标注的方式对该图片的元件进行标注,以元件的cad文件导出图片作为输出,以人工标注内容作为输出进行训练。
7.进一步,优选的是,步骤(2)中,二值化处理的具体方法为:先将图片按色道进行分离,获得图片的红色通道,即获得红色通道原图;在将红色通道原图进行二值化时,选择thresh_binary函数,并传入一个参数cv2.thresh_otsu,把阈值设为0,该阈值会自动寻优;将红色通道二值化后的图片乘以第一阈值,再与红色通道原图一起传入二值化函数,并将得到的结果图片转回3通道,即可获得去除底色后的二值化图片。
8.进一步,优选的是,第一阈值为95%。
9.进一步,优选的是,步骤(2)中,降噪处理时,内核采用morph_cross。
10.进一步,优选的是,步骤(3)中,分割成边长为550~850像素的正方形。
11.进一步,优选的是,步骤(4)中,将字符图片送入ocr模型进行识别,当准确率低于第二阈值时,将识别结果删除;当识别准确率高于第二阈值的,则将识别结果保留;所述的第二阈值不小于75%。
12.进一步,优选的是,采用基于opencv的快速线条检测来获取线条数据,包括线条的起始坐标的x、y值和终点坐标的x、y值;将值小的x判定为起始坐标x值,将值大的x值判定为终点坐标x值,y值按对应关系进行修改。
13.进一步,优选的是,步骤(7)中,对线条进行分类时,首先计算得到x和y值的偏移量;将线条的终点坐标x值减去起始坐标的x值,即可得到x值的偏移量,将线条的终点坐标y值减去起始坐标y值,即可得到y值的偏移量;若x坐标偏移量大于第三阈值,且y坐标偏移量小于第三阈值,则线条为横向线条;若y坐标偏移量大于第三阈值,且x坐标偏移量小于第三阈值,则线条为纵向线条;若x坐标和y坐标的偏移量都大于第三阈值,则线条是一条斜线;将分类后的线条数据分开存储;第三阈值取值在10~20之间;对三种线条进行聚类的具体方法为:纵向线条根据x坐标来进行聚类,并计算两线x坐标之间的差值确定线宽,横向线条根据y坐标来进行聚类,并计算两线y之间的差值确定线宽;斜线进行聚类时,计算线条的中心点坐标,并以此坐标来进行聚类与线宽的计算;聚类时,以线条的质心间的距离为聚类的判断依据,当线条质心间的距离小于阈值时,将两条线条认定其为一条线的两个边,即将其聚类为一条线,质心间的距离即为该聚类后线的宽度,阈值设为10~20。
14.进一步,优选的是,步骤(8)中,根据字符、元件、线条的识别结果在相应的图层中
生成所需内容,其具体方法为:先进行字符图层的字符插入,其次是线条图层的线条插入,元件图层的元件插入,最后是在图框图层生成图框并在信息图层插入信息框。
15.进一步,优选的是,该包括步骤(9),在原图层插入原图,并进行人工纠错。
16.本发明中线条的坐标由线条在图片上对应的像素坐标来进行表示。
17.本发明中,所述的mobilenet v3-yolo v3模型为现有模型,亦称为基于mobile v3的yolo v3模型,本发明对此不做改进。
18.本发明提出了对纸质电力工程图的扫描图进行字符识别、线条识别、元件识别的方法,来将图上的各部分内容及该部分内容所对应的坐标进行获取,并根据坐标与其识别的内容在电子版cad图纸中分图层创建dxf文件,按坐标位置生成相应的内容,从而完成工程图纸扫描图转为dxf文件的整个过程。
19.本发明与现有技术相比,其有益效果为:本发明提供纸质电力工程图纸扫描转化电子版cad图纸的方法,该方法首先是需要进行图片的角度矫正,并对矫正后的图片进行二值化处理和降噪处理,随后对图片进行分割,剔除对目标检测存在影响的部分图片内容,然后对待识别部分的图片进行二值化与降噪处理。处理后的图片先进行字符框选与识别,并按照选框将字符进行遮盖,随后运用电气元件的检测模型进行元件部分的检测与识别,然后进行线条识别与聚类获得线宽,并根据坐标将图片上的线条进行遮盖,最终将识别后的结果按识别时的坐标经过转换后在cad文件中生成。
20.该方法填补了对纸质扫描图转cad图的领域的空白,并且在准确率上,该方法对字符识别的准确率达到了95%以上,对以训练过的25种元件的识别率达到了92%以上。使用该方法可以有效的提高对纸质电气图档的利用率,且可进一步加快电气图档的信息化管理进程。节约电气图档管理的空间成本和维护成本。
附图说明
21.图1是本发明纸质电力工程图纸扫描转化电子版cad图纸的方法的架构图;图2是本发明纸质电力工程图纸扫描转化电子版cad图纸的方法的时序图;图3是本发明纸质电力工程图纸扫描转化电子版cad图纸的方法的流程图;图4是应用实例中纸质电力工程图扫描图;图5是应用实例中获得的旋转图;图6是应用实例中二值化和降噪处理后的图片图7是应用实例中等大小的分割图的文件夹;图8是应用实例中字符的外接正矩形示意图;图9是应用实例中字符图片示意图;图10是应用实例中字符识别结果图;图11是应用实例中元件识别结果图;图12是应用实例中线条信息表结果图;图13是应用实例中dxf文件图。
具体实施方式
22.下面结合实施例对本发明作进一步的详细描述。
23.本领域技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限定本发明的范围。实施例中未注明具体技术或条件者,按照本领域内的文献所描述的技术或条件或者按照产品说明书进行。所用材料或设备未注明生产厂商者,均为可以通过购买获得的常规产品。
24.纸质电力工程图纸扫描转化电子版cad图纸的方法,包括如下步骤:步骤(1),根据用户在扫描图片上的四角描点,计算扫描图片需要旋转的角度并进行旋转,根据描点坐标与旋转的角度来计算旋转后所描点的坐标,并根据这些坐标来对图片进行剪切以去除边框;步骤(2),将经步骤(1)剪切后的图片进行二值化和降噪处理;步骤(3),将经步骤(2)处理后的图片进行等大小的分割;步骤(4),对分割后的图片依次进行字符检测,根据字符检测的结果生成字符的外接正矩形;按外接正矩形进行裁剪,将一个个字符图片裁剪下来;然后将字符图片送入ocr模型进行识别,并根据识别的正确率进行结果筛选;步骤(5),对获得的字符坐标进行转换,获得字符区域所对应的原始坐标;步骤(6),根据字符区域原始坐标,在原图上对字符进行遮盖;将遮盖后的图片送入电气元件的检测模型中获得元件的识别结果;步骤(7),根据元件识别结果在原图上对元件进行遮盖,遮盖后的图片进行快速线条检测,对线条进行分类,将线条分为纵向线条、横向线条、斜线;对纵向线条和横向线条进行连接合并;然后分别对三种线条进行聚类,得到线条的坐标和对应的线条宽度;步骤(8),在dxf文件中创建图层,并根据字符、元件、线条的识别结果在相应的图层中生成所需内容;所述的电气元件的检测模型采用mobilenet v3-yolo v3模型,mobilenet v3-yolo v3模型训练时,先将已有的元件的cad文件导出图片,然后采用人工标注的方式对该图片的元件进行标注,以元件的cad文件导出图片作为输出,以人工标注内容作为输出进行训练。
25.优选方案,步骤(2)中,二值化处理的具体方法为:先将图片按色道进行分离,获得图片的红色通道,即获得红色通道原图;在将红色通道原图进行二值化时,选择thresh_binary函数,并传入一个参数cv2.thresh_otsu,把阈值设为0,该阈值会自动寻优;将红色通道二值化后的图片乘以第一阈值,再与红色通道原图一起传入二值化函数,并将得到的结果图片转回3通道,即可获得去除底色后的二值化图片。
26.优选方案,第一阈值为95%。
27.优选方案,步骤(2)中,降噪处理时,内核采用morph_cross。
28.优选方案,步骤(3)中,分割成边长为550~850像素的正方形。
29.优选方案,步骤(4)中,将字符图片送入ocr模型进行识别,当准确率低于第二阈值时,将识别结果删除;当识别准确率高于第二阈值的,则将识别结果保留;所述的第二阈值不小于75%。
30.优选方案,采用基于opencv的快速线条检测来获取线条数据,包括线条的起始坐标的x、y值和终点坐标的x、y值;将值小的x判定为起始坐标x值,将值大的x值判定为终点坐标x值,y值按对应关系进行修改。
31.优选方案,步骤(7)中,对线条进行分类时,首先计算得到x和y值的偏移量;将线条的终点坐标x值减去起始坐标的x值,即可得到x值的偏移量,将线条的终点坐标y值减去起始坐标y值,即可得到y值的偏移量;若x坐标偏移量大于第三阈值,且y坐标偏移量小于第三阈值,则线条为横向线条;若y坐标偏移量大于第三阈值,且x坐标偏移量小于第三阈值,则线条为纵向线条;若x坐标和y坐标的偏移量都大于第三阈值,则线条是一条斜线;将分类后的线条数据分开存储;第三阈值取值在10~20之间;对三种线条进行聚类的具体方法为:纵向线条根据x坐标来进行聚类,并计算两线x坐标之间的差值确定线宽,横向线条根据y坐标来进行聚类,并计算两线y之间的差值确定线宽;斜线进行聚类时,计算线条的中心点坐标,并以此坐标来进行聚类与线宽的计算;聚类时,以线条的质心间的距离为聚类的判断依据,当线条质心间的距离小于阈值时,将两条线条认定其为一条线的两个边,即将其聚类为一条线,质心间的距离即为该聚类后线的宽度,阈值设为10~20。
32.优选方案,步骤(8)中,根据字符、元件、线条的识别结果在相应的图层中生成所需内容,其具体方法为:先进行字符图层的字符插入,其次是线条图层的线条插入,元件图层的元件插入,最后是在图框图层生成图框并在信息图层插入信息框。
33.优选方案,该包括步骤(9),在原图层插入原图,并进行人工纠错。
34.本发明所述的ocr模型为现有的的开源模型,可由识别所需来提供训练数据进行再次训练,从而获得更高的识别准确率,也可之间使用ocr模型进行识别,但识别准确率会有所不足。opencv为现有开放的python函数库。
35.优选方案,具体地:(1)针对扫描图片可能存在着角度倾斜的问题,采用交互式的选点旋转的方法,根据用户在图片上的描点,描点方式为:根据鼠标点击图片获取点击处对应的坐标,所需获得的四个点分别为图像左上角坐标点、图像右上角坐标点、图像右下角坐标点、图像左下角坐标点。
36.运用opencv的minarearect函数来计算图片需要旋转的角度,并根据计算的角度对图片进行旋转操作。图片选区的分割,也根据交互式选点来进行选择,根据四角描点坐标与旋转的角度来计算旋转后所描点的坐标,并根据这4个坐标来对图片进行分割,去除没有实际意义的边框干扰。
37.(2)图片预处理需要对图片进行二值化处理和降噪处理,该部分都可以运用opencv的基础函数进行且可以得到较为适合的结果。因电气图纸的扫描图基本都为蓝底图,为了去除蓝色底色需要在二值化之前先获得图片的红色通道,在二值化红色通道图时
选择thresh_binary函数,并需要多传入一个参数cv2.thresh_otsu,把阈值设为0,opencv库函数里的二值化算法会找到最优阈值。将二值化后的图片乘以阈值(95%)进行调整,再与红色通道原图一起传入二值化函数,并将得到的结果图片转回3通道,即可获得去除底色后的二值化图片,在进行降噪处理时,根据内核的大小来确定锚点,因为电力工程图纸的复杂性,十字形内核(morph_cross)是一个较为适合的选择。
38.其中,图片乘以阈值是指整个图片乘以95%,因在opencv中图片是矩阵形式进行保存的,可以将图片的矩阵进行乘法运算,故可用整个图片来乘以95%。
39.(3)将预处理后的图片进行定大小剪切。为了更好的字符识别和元件识别,我们需要将一张完整的降噪后的图片按像素进行等大小剪切,为识别效果最好,需将该图片的剪切长宽像素设置在550~850区间之内。
40.(4)在进行字符识别时,首先需要基于ocr模型字符检测,获得字符的外接正矩形坐标,根据外接正矩形坐标对图片进行切割,将处于同一字段的文字图片切割出来,再对切割后的每一个字符图片进行单独字符识别,通过减少其余的干扰因素(将待识别字符从原图剪切下来,以减少图上其他内容,如线条、元件对字符识别的干扰),以此来减小其他因素对字符识别结果的影响。运用ocr模型进行字符识别,并根据识别的结果准确率来进行筛选。在对识别结果进行筛选的时候,运用ocr计算出来的识别正确率与所设阈值进行比较,若正确率小于阈值,则将识别结果舍弃,若正确率大于阈值,则保留识别结果。经过多次实验,需将阈值设置在75%以上才可实现对识别结果的筛选。
41.(5)采用mobilenet v3-yolo v3模型来训练出电气元件的检测模型,电气元件有很多小目标,小目标检测一直是目标检测中的难点。采用多尺度训练方式,随机裁剪、随机翻转的方法来实现数据增强,并以此来训练模型。在训练模型之前对图片数据进行采集,cad图纸导出为图片并采用人工标注的方式完成数据标注。经过训练,现有元件识别功能识别准确率在92%以上,可实现对25种常见元件识别。
42.所述的mobilenet v3-yolo v3模型训练时,先将已有的元件的cad文件导出图片,然后采用人工标注的方式对该图片的元件进行标注(可以对不同的元件标注不同的数字),以元件的cad文件导出图片作为输出,以人工标注内容作为输出进行训练,得到电气元件的检测模型。
43.25种常见元件为:互感器、线圈、电压表、斜线块、端子、接线端子、电阻、接地、开关、断路器、压板、二极管、电流表、变压器、指示器、电感、圆、电源、电池、小电流接地选线、电抗器、熔断器、电容、电压互感器、避雷器;人工标注时,可以按顺序标注为1~25。训练后的模型精度能达到92%以上。
44.(6)通过线条快速检测的方法来实现线条检测,并根据线条边缘生成的识别线坐标来计算线条的宽度。运用opencv的ximgproc.createfastlinedetector函数创建默认快线检测器,从图像中获得线向量,通过聚类对相近的线向量进行连接合并,设置线宽阈值来筛选线条边缘识别线,从而计算获得线条的线宽。该阈值的设置可根据线宽来进行设置,经多次反复实验,标准线宽的阈值设置在10~20可较好的实现线条的聚类。
45.(7)采用ezdxf库函数来建造dxf图,dxf文件是cad多种文件类型中的一个分支类型,是cad文件类型中的一种图形保存格式。因为dxf图支持多个图层的分层创建,故可以分别创建lines图层、unit图层、character图层、frame图层、inform图层、o-image图层,将识
别的内容分别在对应的图层中创建,这样有助于对生成的dxf更好的进行理解与修改。在插入线条、元件和字符之前,需要对获得的坐标进行转换。因为在opencv的模式中,坐标系的原点为图片左上角的顶点,而在cad图中坐标系的原点位于左下角,故我们需要对字符识别的坐标进行转换,才可在插入时不产生错位问题。对坐标进行转换时,需要对图片的像素大小进行判断,并根据图片的长宽像素比例来计算在cad图中插入内容的对应坐标。运用add_text函数添加字符,运用add_line函数添加线条,多种函数配合创建不同纸幅对应的图框,运用add_image函数添加信息表进入dxf文件中。
46.本发明方法步骤为:(1)针对需转化为cad图纸的纸质图纸扫描图,应该分清哪些部分是需要识别的部分,哪些部分是无关影响的部分。根据用户在扫描图片上的四角描点,计算扫描图片需要旋转的角度并进行旋转,根据描点坐标与旋转的角度来计算旋转后所描点的坐标,并根据这些坐标来对图片进行剪切以去除边框;(2)将剪切后的图片进行二值化和降噪预处理;(3)将预处理后的图片进行等大小的分割。分割后的统一大小的图片依次进行字符检测,根据字符检测的结果生成正外接矩形;(4)按外接正矩形结果坐标进行裁剪,将一个个字符图片裁剪下来,并保存。将字符图片送入ocr模型进行识别,并根据识别的正确率进行结果筛选;(5)对获得的字符坐标进行转换。因每一张字符检测的图片都是裁剪后的图片,所以需对获得的字符坐标进行逆向转换,才可获得字符区域所对应的原始坐标;(6)根据字符识别结果在原图上对字符进行遮盖。将遮盖后的图片送入电气元件的检测模型中获得元件的检测结果;(7)根据元件识别结果在原图上对元件进行遮盖,遮盖后的图片进行快速线条检测,对线条进行分类,将线条分为纵向线条、横向线条、斜线。对纵向线条和横向线条进行连接合并,然后分别对三种线条进行聚类,得到线条的坐标和对应的线条宽度;(8)在dxf文件中创建图层,并根据前面的识别结果在相应的图层中生成所需内容。先进行字符图层的字符插入,其次是线条图层的线条插入,元件图层的元件插入,最后是在图框图层生成图框并在信息图层插入信息框;应用实例应用实例如下所示,该实例是根据一张纸质电力图纸的扫描图顺序进行描点旋转及图片剪切;二值化及降噪;等大小分割并保存;字符检测及字符区域框选标注;按选框剪切;字符识别,并根据字符识别的正确率进行数据筛选;字符遮盖与元件检测识别;元件遮盖及线条检测和线条聚类;创建dxf文件,并在其中进行图层创建、字符插入、元件插入、线条插入。经过上述步骤,实现从纸质电力图纸的扫描图转换为电子版的cad图片。
47.纸质电力工程图扫描图如图4所示。具体方法如下:(1)根据用户在扫描图片上的四角描点,计算扫描图片需要旋转的角度并进行旋转,根据描点坐标与旋转的角度来计算旋转后所描点的坐标,并根据这些坐标来对图片进行剪切以去除边框,得到如图5所示的旋转图。
48.(2)将经步骤(1)剪切后的图片进行二值化和降噪处理,结果如图6所示。
49.(3)将经步骤(2)处理后的图片进行等大小的分割,可获得如图7所示的多个存分
割图的文件夹。
50.(4)对分割后的图片依次进行字符检测,根据字符检测的结果生成字符的外接正矩形;结果如图8所示。
51.(5)按外接正矩形结果坐标进行裁剪,将一个个字符图片裁剪下来,并保存,结果如图9所示。
52.(6)将字符图片送入ocr模型进行识别,并根据识别的正确率进行结果筛选,得到的字符识别结果如图10所示。对获得的字符坐标进行转换,获得字符区域所对应的原始坐标。
53.(7)根据字符区域原始坐标,在原图上对字符进行遮盖;将遮盖后的图片送入电气元件的检测模型中获得元件的识别结果;元件信息表结果如图11所示。
54.(8)根据元件识别结果在原图上对元件进行遮盖,遮盖后的图片进行快速线条检测,对线条进行分类,将线条分为纵向线条、横向线条、斜线;对纵向线条和横向线条进行连接合并;然后分别对三种线条进行聚类,得到线条的坐标和对应的线条宽度,线条信息表结果如图12所示。
55.(9)在dxf文件中创建图层,并根据字符、元件、线条的识别结果在相应的图层中生成所需内容,最后获得的dxf文件如图13所示。
56.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献