CN115272172A - 一种适用于非表格类图元的开关柜端子图自动识别方法 - Google Patents
一种适用于非表格类图元的开关柜端子图自动识别方法 Download PDFInfo
- Publication number
- CN115272172A CN115272172A CN202210635072.8A CN202210635072A CN115272172A CN 115272172 A CN115272172 A CN 115272172A CN 202210635072 A CN202210635072 A CN 202210635072A CN 115272172 A CN115272172 A CN 115272172A
- Authority
- CN
- China
- Prior art keywords
- terminal
- graph
- table type
- circle
- rectangle
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/155—Segmentation; Edge detection involving morphological operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
Abstract
本发明涉及图像识别技术领域,且公开了一种适用于非表格类图元的开关柜端子图自动识别方法,包括以下步骤:S1:输入图纸;S2:对端子图进行预处理,包括图纸格式转换、灰度化、二值化、边界去除处理,得到预处理后的端子图。本发明针对开关柜的运维检修仍依赖纸质图纸进行人工识别的现状,人工识别图纸存在花费时间长、出错率高的问题。通过端子图的智能识别,不仅能够大大缩短人工识别连接关系花费的时间,还能够提高识别的准确性,从而保证生产安全和人身安全。在数字电网的发展中,通过将端子图抽象的物理信息转化为数字化信息,实现端子图的数字化,为三维模型的成功构建奠定了坚实的基础。
Description
技术领域
本发明涉及图像识别技术领域,具体为一种适用于非表格类图元的开关柜端子图自动识别方法。
背景技术
数字孪生、元宇宙等技术在电力行业极具应用价值,因此近年来行业内对电力设备开始了大范围、大规模的三维建模。电力设备三维模型构建技术经历着从粗糙到精细,从低精度到高精度的快速迭代。然而截止目前,绝大部分电力设备三维模型仅能覆盖设备的外壳、大型机械部件等主体结构,尚难以构建内部二次系统的微小零部件,特别是直径小、弯着多、走向复杂的二次电缆。主要原因是线缆的建模效率低、工作量大、可复用性差,因此人工建模成本极高,难以满足商业应用需求。
为此多方面开展了基于二次系统接线图纸的自动三维建模技术研究,期望通过接线图,实现二次电缆的程序化生成。接线图分为信号回路图和端子图两种,是电力设备生产过程中用于二次系统电缆接线的参考图纸。为了实现基于接线图的三维模型程序化生成,必须解决图纸的自动识别问题。
端子图主要包含了表格类端子图元与非表格类端子图元。目前针对表格类端子图元已存在多种技术方案可以实现较好的识别率,但是由于非表格类端子图元存在元件编号部分与端子和回路部分分离、端子和回路分布不似表格类端子图元中简单分布等问题,针对非表格类端子图元的识别技术尚不成熟。为了解决非表格类端子图元的自动识别问题,本专利提供了一种可行的技术方案。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明设计了一种变电站开关柜类设备二次图纸的自动识别技术,主要解决提取端子图中端子之间的连接信息的问题。通过本发明的技术方案能够完成表格类端子图元和非表格类端子图元的分类分割和端子之间连接关系的输出。此发明能有效解放工作人员生产力,提高端子连接关系的识别效率的准确性。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种适用于非表格类图元的开关柜端子图自动识别方法,包括以下步骤:
S1:输入图纸;
S2:对端子图进行预处理,包括图纸格式转换、灰度化、二值化、边界去除处理,得到预处理后的端子图;
S3:对预处理后的端子图进行分类分割,得到端子图中的表格类端子图元图像集合与非表格类端子图元图像集合;
S4:对表格类端子图元图像集合进行表格和文字识别,获取表格类端子图元的连接关系并填入对应表单;
S5:识别出非表格类图元图像集合中的每一个元件编号所在位置,并通过文字识别得到每一个元件对应的文本编号,将文本编号作为每个元件的表单名称;
S6:识别非表格类图元集合中每一个元件包含端子的封闭框,并完成对封闭框内部端子以及连接端子的直线的识别,利用文字识别方法识别端子编号和回路编号;将识别的信息填入对应表单;
S7:将表格类图元图像集合生成的列表和非表格类图元图像集合生成的列表合并,输出端子图的整体表单。
优选的,所述图纸格式转换,格式转化后的端子图还需要调用OpenCV的灰度化函数将输入的图像转变为灰度图像,并采用反二进制阈值化的方法完成二值化操作,反二进制阈值化是选定一个特定的阈值量thresh,将大于阈值的点的像素值设定为0,而小于该阈值的设定为255,反二进制阈值化公式如下:
优选的,所述开关柜端子图的预处理中设置有边界去除模块,首先设计腐蚀操作的行结构元素,再进行开操作获取图像中的水平线,所谓开操作是先进行腐蚀将除水平线之外的线条过滤掉,再进行膨胀,记录水平线的位置信息,计算水平线的长度,找出长度最长和长度第二长的四条水平线的端点信息,八个端点坐标为边界最大的两个矩形的四个顶角的坐标,通过遍历图像中的像素点(i,j),令在两个矩形之间和矩形边缘线上的像素点的像素值置为0,去除边界对后续识别的干扰。
优选的,所述S2中,由于端子图中含有的表格类以及非表格类两种图元的特征差异较大,对应的识别方法也大为不同,所以要对端子图进行分类分割操作,首先,对预处理之后的图像进行两次腐蚀、膨胀操作获得整个端子图的水平线和竖直线,依据水平、竖直线的交集得到交点,通过OpenCV的findContours函数找到轮廓,最后依据轮廓面积以及交点数和交点的位置特征判断区域是否为表格类图元,若判断为表格,就利用approxPolyDP函数用来逼近区域成为一个形状,利用boundingRect函数为将这片区域转化为矩形,最后将矩形区域的坐标信息记录下来,并将各矩形区域的图像裁剪并存入一个集合,则端子图中的其他部分为非表格类图元,将判断得到为非表格类的图像存入另一个集合。
优选的,所述S3中,首先将表格类端子矩形区域旋转至文字的正方向,然后使用与第二步相同的方法获得图像的水平线、竖直线和交点,接着利用交点位置以及横纵线的位置识别单元格并记录每个单元格的四个角的坐标,将每个单元格的文字图像采用Tesseract完成单元格内文字的识别,获得文本内容,所谓Tesseract,即为一种用于文字识别的开源框架,在英文字母和数字的识别上具有优势,符合对元件编号、回路编号、端子编号识别的需求,最后,根据各单元格的位置信息将文本内容有序存入表单。
优选的,所述S4中,由于有的非表格类图元中端子存在于不封闭的图形内部,所以在端子识别之前要对非表格类端子区域图像进行基于形态学的闭运算,即先膨胀后腐蚀的过程,将非表格类端子图像集合中狭窄的断裂连接起来,然后对闭运算后的图像进行霍夫圆变换,并得到半径最大圆形的位置信息(x,y,r),其中(x,y)为圆形的圆心,r为圆形的半径,调用opencv的minAreaRect函数对提取出的最大圆形取外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别,将每个文字识别得到的文本编号存入数组,并以文本编号为名称生成多个空白表单。
优选的,所述S5中,非表格类图元的端子存在于第四步得到的最大圆形下方的封闭图形当中,因此在端子识别之前需要将封闭图形提取出来,并将属于同一个图元的最大圆形和封闭图形利用距离最短的特性对应起来;
采用opencv的findContours函数识别图像内所有封闭图形的外轮廓,从而得到外轮廓上所有点的集合;然后利用pointPolygonTest函数获取第四步所得圆心与各外轮廓的距离,其中距离值为正代表圆心与圆形所在最大圆形外轮廓之间的距离,距离值为负代表与除所在圆形以外的封闭图形的外轮廓之间的距离;因此需要删去所得距离值中的正数去除所在圆形外轮廓的干扰;
然后利用排序算法将每个圆心与封闭图形的外轮廓的距离值进行排序,找到距离值最大的外轮廓,即为与每个最大圆形距离最近的封闭图形的外轮廓,然后将封闭图形的位置信息记录下来;最后需要对封闭图形进行一些识别获得元件内部端子编号、回路编号以及回路另一端连接的元件外部端子编号;
对于元件内部端子编号的获取;首先需要对封闭图形内部的小圆形以及小矩形进行识别并记录位置信息;若识别到小圆形,则取小圆形的外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别;若识别到小矩形,则直接将小矩形内的图像利用Tesseract进行文字识别;接着将文字识别得到的编号即所述元件内部端子编号填入第四步生成的对应空白表单的第一列;
对于回路编号的获取;首先将图纸中长度较短的直线去除,然后利用每个小圆形或小矩形的位置信息搜寻与它位置距离最近的水平线并获得水平线的位置信息;在水平线上方取矩形区域,其中以水平线为矩形的长,以字符的高度为矩形的宽;最后将所取矩形的图像利用Tesseract进行文字识别;将文字识别得到的编号即回路编号填入第四步生成的对应空白表单的第二列;
对于元件外部端子编号的获取;利用获取回路编号时得到的水平线信息,取包含元件外部端子编号的矩形,其中以水平线远离最小圆形或最小矩形的端点为矩形的一条宽所在的位置,在竖直线方向取字符的高度为矩形的宽,在水平线方向取一定值为矩形的长;最后将所取矩形的图像利用进行文字识别;将文字识别得到的编号即元件外部端子编号填入第四步生成的对应空白表单的第三列。
优选的,所述S5中,S1-S5完成之后能够得到以“元件内部端子编号-回路编号-外部元件序号:端子编号”顺序存在的元件对应的连接关系表单。
优选的,所述S6中,由于第三步得到的表格类端子表单和第五步得到的非表格类端子表单的记录方式有所不同,所以在合并表单之前需要对表单进行一些调整;
对于第三步得到的表单是简单的按照表格内容排布的,即“上方外部元件序号:端子编号-隔离开关端子编号-回路编号-下方外部元件序号:端子编号”;而与此对应的一行内容最后期望得到的表单内容排布为两行,即“回路编号-隔离开关端子编号-1-上方外部元件编号-上方外部端子编号/回路编号-隔离开关端子编号-2-下方外部元件编号-下方外部端子编号”;其中,回路编号以及端子编号可以直接在得到的表单中获得,上、下方外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的表格类端子待合并表单;
非表格类端子连接关系的目标表单排布为“回路编号-元件编号-元件内部端子编号-外部元件编号-外部元件端子编号”;因此,首先需要在第五步得到的各表单加入一行表格在第一行之前,并在表格内填入每个表单的名称;此时得到的表单排布为“元件编号-元件内部端子编号-回路编号-外部元件序号:端子编号”;其中,元件编号、元件内部端子编号、回路编号、外部元件端子编号都能直接填入,外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的非表格类端子待合并表单;
最后,将得到的排布顺序相同的表格类端子和非表格类端子待合并表单合并,就能得到完整的连接关系表单。
(三)有益效果
与现有技术相比,本发明提供了一种适用于非表格类图元的开关柜端子图自动识别方法,具备以下有益效果:
该一种适用于非表格类图元的开关柜端子图自动识别方法,针对开关柜的运维检修仍依赖纸质图纸进行人工识别的现状,人工识别图纸存在花费时间长、出错率高的问题。通过端子图的智能识别,不仅能够大大缩短人工识别连接关系花费的时间,还能够提高识别的准确性,从而保证生产安全和人身安全。在数字电网的发展中,通过将端子图抽象的物理信息转化为数字化信息,实现端子图的数字化,为三维模型的成功构建奠定了坚实的基础。
附图说明
图1为本发明步骤图;
图2为本发明端子图;
图3为本发明边界去除图;
图4为本发明预处理后的端子图;
图5为本发明非表格类图元的空白表单的生成图;
图6为本发明外轮廓识别图;
图7为本发明与元件“1A”距离最近的封闭图形的获取图;
图8为本发明“1A”元件回路编号区域选取图;
图9为本发明“1A”元件外部端子编号区域选取图;
图10为本发明“1A”元件向表单的转化图;
图11为本发明表格类图元表单调整图;
图12为本发明“1A”元件表单调整图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
如图1-12所示,本发明提供一种技术方案:一种适用于非表格类图元的开关柜端子图自动识别方法,包括以下步骤:
S1:输入图纸;
S2:对端子图进行预处理,包括图纸格式转换、灰度化、二值化、边界去除处理,得到预处理后的端子图;
S3:对预处理后的端子图进行分类分割,得到端子图中的表格类端子图元图像集合与非表格类端子图元图像集合;
S4:对表格类端子图元图像集合进行表格和文字识别,获取表格类端子图元的连接关系并填入对应表单;
S5:识别出非表格类图元图像集合中的每一个元件编号所在位置,并通过文字识别得到每一个元件对应的文本编号,将文本编号作为每个元件的表单名称;
S6:识别非表格类图元集合中每一个元件包含端子的封闭框,并完成对封闭框内部端子以及连接端子的直线的识别,利用文字识别方法识别端子编号和回路编号;将识别的信息填入对应表单;
S7:将表格类图元图像集合生成的列表和非表格类图元图像集合生成的列表合并,输出端子图的整体表单。
进一步地,图纸格式转换,格式转化后的端子图还需要调用OpenCV的灰度化函数将输入的图像转变为灰度图像,并采用反二进制阈值化的方法完成二值化操作,反二进制阈值化是选定一个特定的阈值量thresh,将大于阈值的点的像素值设定为0,而小于该阈值的设定为255,反二进制阈值化公式如下:
进一步地,开关柜端子图的预处理中设置有边界去除模块,首先设计腐蚀操作的行结构元素,再进行开操作获取图像中的水平线,所谓开操作是先进行腐蚀将除水平线之外的线条过滤掉,再进行膨胀,记录水平线的位置信息,计算水平线的长度,找出长度最长和长度第二长的四条水平线的端点信息,八个端点坐标为边界最大的两个矩形的四个顶角的坐标,通过遍历图像中的像素点(i,j),令在两个矩形之间和矩形边缘线上的像素点的像素值置为0,去除边界对后续识别的干扰。
进一步地,S2中,由于端子图中含有的表格类以及非表格类两种图元的特征差异较大,对应的识别方法也大为不同,所以要对端子图进行分类分割操作,首先,对预处理之后的图像进行两次腐蚀、膨胀操作获得整个端子图的水平线和竖直线,依据水平、竖直线的交集得到交点,通过OpenCV的findContours函数找到轮廓,最后依据轮廓面积以及交点数和交点的位置特征判断区域是否为表格类图元,若判断为表格,就利用approxPolyDP函数用来逼近区域成为一个形状,利用boundingRect函数为将这片区域转化为矩形,最后将矩形区域的坐标信息记录下来,并将各矩形区域的图像裁剪并存入一个集合,则端子图中的其他部分为非表格类图元,将判断得到为非表格类的图像存入另一个集合。
进一步地,S3中,首先将表格类端子矩形区域旋转至文字的正方向,然后使用与第二步相同的方法获得图像的水平线、竖直线和交点,接着利用交点位置以及横纵线的位置识别单元格并记录每个单元格的四个角的坐标,将每个单元格的文字图像采用Tesseract完成单元格内文字的识别,获得文本内容,所谓Tesseract,即为一种用于文字识别的开源框架,在英文字母和数字的识别上具有优势,符合对元件编号、回路编号、端子编号识别的需求,最后,根据各单元格的位置信息将文本内容有序存入表单。
进一步地,S4中,由于有的非表格类图元中端子存在于不封闭的图形内部,所以在端子识别之前要对非表格类端子区域图像进行基于形态学的闭运算,即先膨胀后腐蚀的过程,将非表格类端子图像集合中狭窄的断裂连接起来,然后对闭运算后的图像进行霍夫圆变换,并得到半径最大圆形的位置信息(x,y,r),其中(x,y)为圆形的圆心,r为圆形的半径,调用opencv的minAreaRect函数对提取出的最大圆形取外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别,将每个文字识别得到的文本编号存入数组,并以文本编号为名称生成多个空白表单。
进一步地,S5中,非表格类图元的端子存在于第四步得到的最大圆形下方的封闭图形当中,因此在端子识别之前需要将封闭图形提取出来,并将属于同一个图元的最大圆形和封闭图形利用距离最短的特性对应起来;
采用opencv的findContours函数识别图像内所有封闭图形的外轮廓,从而得到外轮廓上所有点的集合;然后利用pointPolygonTest函数获取第四步所得圆心与各外轮廓的距离,其中距离值为正代表圆心与圆形所在最大圆形外轮廓之间的距离,距离值为负代表与除所在圆形以外的封闭图形的外轮廓之间的距离;因此需要删去所得距离值中的正数去除所在圆形外轮廓的干扰;
然后利用排序算法将每个圆心与封闭图形的外轮廓的距离值进行排序,找到距离值最大的外轮廓,即为与每个最大圆形距离最近的封闭图形的外轮廓,然后将封闭图形的位置信息记录下来;最后需要对封闭图形进行一些识别获得元件内部端子编号、回路编号以及回路另一端连接的元件外部端子编号;
对于元件内部端子编号的获取;首先需要对封闭图形内部的小圆形以及小矩形进行识别并记录位置信息;若识别到小圆形,则取小圆形的外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别;若识别到小矩形,则直接将小矩形内的图像利用Tesseract进行文字识别;接着将文字识别得到的编号即元件内部端子编号填入第四步生成的对应空白表单的第一列;
对于回路编号的获取;首先将图纸中长度较短的直线去除,然后利用每个小圆形或小矩形的位置信息搜寻与它位置距离最近的水平线并获得水平线的位置信息;在水平线上方取矩形区域,其中以水平线为矩形的长,以字符的高度为矩形的宽;最后将所取矩形的图像利用Tesseract进行文字识别;将文字识别得到的编号即回路编号填入第四步生成的对应空白表单的第二列;
对于元件外部端子编号的获取;利用获取回路编号时得到的水平线信息,取包含元件外部端子编号的矩形,其中以水平线远离最小圆形或最小矩形的端点为矩形的一条宽所在的位置,在竖直线方向取字符的高度为矩形的宽,在水平线方向取一定值为矩形的长;最后将所取矩形的图像利用进行文字识别;将文字识别得到的编号即元件外部端子编号填入第四步生成的对应空白表单的第三列。
进一步地,S5中,S1-S5完成之后能够得到以“元件内部端子编号-回路编号-外部元件序号:端子编号”顺序存在的元件对应的连接关系表单。
进一步地,S6中,由于第三步得到的表格类端子表单和第五步得到的非表格类端子表单的记录方式有所不同,所以在合并表单之前需要对表单进行一些调整;
对于第三步得到的表单是简单的按照表格内容排布的,即“上方外部元件序号:端子编号-隔离开关端子编号-回路编号-下方外部元件序号:端子编号”;而与此对应的一行内容最后期望得到的表单内容排布为两行,即“回路编号-隔离开关端子编号-1-上方外部元件编号-上方外部端子编号/回路编号-隔离开关端子编号-2-下方外部元件编号-下方外部端子编号”;其中,回路编号以及端子编号可以直接在得到的表单中获得,上、下方外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的表格类端子待合并表单;
非表格类端子连接关系的目标表单排布为“回路编号-元件编号-元件内部端子编号-外部元件编号-外部元件端子编号”;因此,首先需要在第五步得到的各表单加入一行表格在第一行之前,并在表格内填入每个表单的名称;此时得到的表单排布为“元件编号-元件内部端子编号-回路编号-外部元件序号:端子编号”;其中,元件编号、元件内部端子编号、回路编号、外部元件端子编号都能直接填入,外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的非表格类端子待合并表单;
最后,将得到的排布顺序相同的表格类端子和非表格类端子待合并表单合并,就能得到完整的连接关系表单。
对于该技术方案提供一种最佳实施例:
如图2所示的端子图为例,包含一个表格类图元以及1A、2B、3C三个非表格类图元,其中表格类图元含有20个端子,1A、2B、3C三个图元内部分别有n个端子,编号为1,2,3,…,n。
第一步的格式转换、灰度化、二值化可以通过已有的算法或工具实现,边界去除部分首先识别最长和第二长的四条水平线获得两最大矩形的端点位置(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2),其中,识别得到的最长水平线在图3中用引线标出,识别得到的第二长水平线在图2中用引线标出。然后使用像素点像素值置0的方法去除两矩形的边界以及矩形之间像素的干扰,像素点置0的区域为图2中的阴影部分。预处理结束后的端子图如图4所示。
第二步通过直线识别、腐蚀、膨胀、交点识别算法识别直线、交点并获得位置信息,对位置信息、交点数量、单元格面积等进行判别获得表格图元图像单元。从而完成表格类以及非表格类两种图元的分类分割。
第四步在本例中的实现为:识别出所有包含非表格类图元元件编号的三个最大圆形,并取每个最大圆形的外接矩形。然后将矩形区域图像利用Tesseract识别出元件编号为“1A”、“2B”、“3C”存入数组,并以生成三个分别以“1A”、“2B”、“3C”为名称的空白表单。空白表单的生成如图5所示。
第五步,首先利用findContours函数识别图像内所有封闭图形的外轮廓,识别结果如图6中深色线条所示,然后利用pointPolygonTest函数获取第四步所得圆心与各外轮廓的距离,找出与每个大圆形距离最近的封闭图形并记录位置信息。以元件1A为例,在第四步得到圆心坐标为(xA,yA),分别计算圆心与6个外轮廓之间的距离,可以得到一个正数(distance1)和五个负数(distance2,distance3,distance4,distance5,distance6),将五个负数进行排序,找出数值最大的负数,即distance2,从而找出距离“1A”编号所在圆形最近的封闭图形的外轮廓,如图7中的引线1所示,并记录该封闭图形的位置信息。然后对封闭图形内部的小圆形以及小矩形进行识别并记录位置信息。可以看出“1A”、“3C”元件的端子存在于小圆形内部,“2B”元件的端子存在于小矩形内部,对识别到的小圆形取外接矩形,识别到的小矩形保留矩形图像。最后将所有得到的矩形图像使用Tesseract进行文字识别,识别得到“1A”、“2B”、“3C”元件的内部端子编号,将元件的内部端子编号填入图5对应的空白表单的第一列。
接着线消除较短水平线的干扰,然后识别与小圆形或小矩形距离最近的水平线,以水平线为矩形的一条长,字符高度为宽在水平线上方取矩形区域,对矩形区域使用Tesseract进行文字识别,得到的文本结果为回路编号。以“1A”元件为例,识别得到的端子“1”和端子“2”所在的小圆形距离最近的水平线如图8中引线3所示,然后分别在两条水平线上作出以水平线的长度为长,以字符的高度为宽的矩形区域,矩形区域的选取如图8中引线2所示。识别后可以得出与端子“1”对应的回路编号为“a”,与端子“2”对应的回路编号为“c”。将识别出来的所有回路编号填入图5对应的空白表单的第二列。
最后在水平线远离内部端子的一端取矩形区域并将矩形区域图像用Tesseract进行文字识别,其中,在竖直线方向以字符的高度为矩形的宽,在水平线方向取一定值为矩形的长。以“1A”元件为例,在回路“a”所在直线的左端取矩形区域如图9所示,识别后得到的外部端子编号为“2:B-1”。将识别出来的所有外部端子编号填入图4对应的空白表单的第三列。
以“1A”元件为例,第五步识别完成后得到的表单如图10所示。
第六步按照技术方案调整得到的表格类端子待合并表单如图11所示,调整得到的非表格类端子待合并表单以“1A”元件为例如图12所示。将所有元件的待合并表单简单的合并就能得到完整的连接关系表单。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个引用结构”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,包括以下步骤:
S1:输入图纸;
S2:对端子图进行预处理,包括图纸格式转换、灰度化、二值化、边界去除处理,得到预处理后的端子图;
S3:对预处理后的端子图进行分类分割,得到端子图中的表格类端子图元图像集合与非表格类端子图元图像集合;
S4:对表格类端子图元图像集合进行表格和文字识别,获取表格类端子图元的连接关系并填入对应表单;
S5:识别出非表格类图元图像集合中的每一个元件编号所在位置,并通过文字识别得到每一个元件对应的文本编号,将文本编号作为每个元件的表单名称;
S6:识别非表格类图元集合中每一个元件包含端子的封闭框,并完成对封闭框内部端子以及连接端子的直线的识别,利用文字识别方法识别端子编号和回路编号;将识别的信息填入对应表单;
S7:将表格类图元图像集合生成的列表和非表格类图元图像集合生成的列表合并,输出端子图的整体表单。
3.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述开关柜端子图的预处理中设置有边界去除模块,首先设计腐蚀操作的行结构元素,再进行开操作获取图像中的水平线,所谓开操作是先进行腐蚀将除水平线之外的线条过滤掉,再进行膨胀,记录水平线的位置信息,计算水平线的长度,找出长度最长和长度第二长的四条水平线的端点信息,八个端点坐标为边界最大的两个矩形的四个顶角的坐标,通过遍历图像中的像素点(i,j),令在两个矩形之间和矩形边缘线上的像素点的像素值置为0,去除边界对后续识别的干扰。
4.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S2中,由于端子图中含有的表格类以及非表格类两种图元的特征差异较大,对应的识别方法也大为不同,所以要对端子图进行分类分割操作,首先,对预处理之后的图像进行两次腐蚀、膨胀操作获得整个端子图的水平线和竖直线,依据水平、竖直线的交集得到交点,通过OpenCV的findContours函数找到轮廓,最后依据轮廓面积以及交点数和交点的位置特征判断区域是否为表格类图元,若判断为表格,就利用approxPolyDP函数用来逼近区域成为一个形状,利用boundingRect函数为将这片区域转化为矩形,最后将矩形区域的坐标信息记录下来,并将各矩形区域的图像裁剪并存入一个集合,则端子图中的其他部分为非表格类图元,将判断得到为非表格类的图像存入另一个集合。
5.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S3中,首先将表格类端子矩形区域旋转至文字的正方向,然后使用与第二步相同的方法获得图像的水平线、竖直线和交点,接着利用交点位置以及横纵线的位置识别单元格并记录每个单元格的四个角的坐标,将每个单元格的文字图像采用Tesseract完成单元格内文字的识别,获得文本内容,所谓Tesseract,即为一种用于文字识别的开源框架,在英文字母和数字的识别上具有优势,符合对元件编号、回路编号、端子编号识别的需求,最后,根据各单元格的位置信息将文本内容有序存入表单。
6.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S4中,由于有的非表格类图元中端子存在于不封闭的图形内部,所以在端子识别之前要对非表格类端子区域图像进行基于形态学的闭运算,即先膨胀后腐蚀的过程,将非表格类端子图像集合中狭窄的断裂连接起来,然后对闭运算后的图像进行霍夫圆变换,并得到半径最大圆形的位置信息(x,y,r),其中(x,y)为圆形的圆心,r为圆形的半径,调用opencv的minAreaRect函数对提取出的最大圆形取外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别,将每个文字识别得到的文本编号存入数组,并以文本编号为名称生成多个空白表单。
7.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S5中,非表格类图元的端子存在于第四步得到的最大圆形下方的封闭图形当中,因此在端子识别之前需要将封闭图形提取出来,并将属于同一个图元的最大圆形和封闭图形利用距离最短的特性对应起来;
采用opencv的findContours函数识别图像内所有封闭图形的外轮廓,从而得到外轮廓上所有点的集合;然后利用pointPolygonTest函数获取第四步所得圆心与各外轮廓的距离,其中距离值为正代表圆心与圆形所在最大圆形外轮廓之间的距离,距离值为负代表与除所在圆形以外的封闭图形的外轮廓之间的距离;因此需要删去所得距离值中的正数去除所在圆形外轮廓的干扰;
然后利用排序算法将每个圆心与封闭图形的外轮廓的距离值进行排序,找到距离值最大的外轮廓,即为与每个最大圆形距离最近的封闭图形的外轮廓,然后将封闭图形的位置信息记录下来;最后需要对封闭图形进行一些识别获得元件内部端子编号、回路编号以及回路另一端连接的元件外部端子编号;
对于元件内部端子编号的获取;首先需要对封闭图形内部的小圆形以及小矩形进行识别并记录位置信息;若识别到小圆形,则取小圆形的外接矩形,并将外接矩形内的图像利用Tesseract进行文字识别;若识别到小矩形,则直接将小矩形内的图像利用Tesseract进行文字识别;接着将文字识别得到的编号即所述元件内部端子编号填入第四步生成的对应空白表单的第一列;
对于回路编号的获取;首先将图纸中长度较短的直线去除,然后利用每个小圆形或小矩形的位置信息搜寻与它位置距离最近的水平线并获得水平线的位置信息;在水平线上方取矩形区域,其中以水平线为矩形的长,以字符的高度为矩形的宽;最后将所取矩形的图像利用Tesseract进行文字识别;将文字识别得到的编号即回路编号填入第四步生成的对应空白表单的第二列;
对于元件外部端子编号的获取;利用获取回路编号时得到的水平线信息,取包含元件外部端子编号的矩形,其中以水平线远离最小圆形或最小矩形的端点为矩形的一条宽所在的位置,在竖直线方向取字符的高度为矩形的宽,在水平线方向取一定值为矩形的长;最后将所取矩形的图像利用进行文字识别;将文字识别得到的编号即元件外部端子编号填入第四步生成的对应空白表单的第三列。
8.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S5中,S1-S5完成之后能够得到以“元件内部端子编号-回路编号-外部元件序号:端子编号”顺序存在的元件对应的连接关系表单。
9.根据权利要求1所述的一种适用于非表格类图元的开关柜端子图自动识别方法,其特征在于,所述S6中,由于第三步得到的表格类端子表单和第五步得到的非表格类端子表单的记录方式有所不同,所以在合并表单之前需要对表单进行一些调整;
对于第三步得到的表单是简单的按照表格内容排布的,即“上方外部元件序号:端子编号-隔离开关端子编号-回路编号-下方外部元件序号:端子编号”;而与此对应的一行内容最后期望得到的表单内容排布为两行,即“回路编号-隔离开关端子编号-1-上方外部元件编号-上方外部端子编号/回路编号-隔离开关端子编号-2-下方外部元件编号-下方外部端子编号”;其中,回路编号以及端子编号可以直接在得到的表单中获得,上、下方外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的表格类端子待合并表单;
非表格类端子连接关系的目标表单排布为“回路编号-元件编号-元件内部端子编号-外部元件编号-外部元件端子编号”;因此,首先需要在第五步得到的各表单加入一行表格在第一行之前,并在表格内填入每个表单的名称;此时得到的表单排布为“元件编号-元件内部端子编号-回路编号-外部元件序号:端子编号”;其中,元件编号、元件内部端子编号、回路编号、外部元件端子编号都能直接填入,外部元件编号不能直接得到,需要利用元件序号在第四步得到的包含全部文本编号的数组中检索;完成上述过程能得到完整的非表格类端子待合并表单;
最后,将得到的排布顺序相同的表格类端子和非表格类端子待合并表单合并,就能得到完整的连接关系表单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635072.8A CN115272172A (zh) | 2022-06-07 | 2022-06-07 | 一种适用于非表格类图元的开关柜端子图自动识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635072.8A CN115272172A (zh) | 2022-06-07 | 2022-06-07 | 一种适用于非表格类图元的开关柜端子图自动识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115272172A true CN115272172A (zh) | 2022-11-01 |
Family
ID=83759923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210635072.8A Pending CN115272172A (zh) | 2022-06-07 | 2022-06-07 | 一种适用于非表格类图元的开关柜端子图自动识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117570852A (zh) * | 2024-01-15 | 2024-02-20 | 钛玛科(北京)工业科技有限公司 | 极耳顶点坐标检测方法、装置及设备 |
-
2022
- 2022-06-07 CN CN202210635072.8A patent/CN115272172A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117570852A (zh) * | 2024-01-15 | 2024-02-20 | 钛玛科(北京)工业科技有限公司 | 极耳顶点坐标检测方法、装置及设备 |
CN117570852B (zh) * | 2024-01-15 | 2024-03-26 | 钛玛科(北京)工业科技有限公司 | 极耳顶点坐标检测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598698B (zh) | 基于自适应区域建议网络的自然场景文本检测方法和系统 | |
CN111626146A (zh) | 一种基于模板匹配的合并单元格表格分割识别方法 | |
CN103440472B (zh) | 一种文字图像特征差异的快速计算方法 | |
CN111401353A (zh) | 一种数学公式的识别方法、装置及设备 | |
CN115797813B (zh) | 基于航拍图像的水环境污染检测方法 | |
CN115272172A (zh) | 一种适用于非表格类图元的开关柜端子图自动识别方法 | |
CN111753706A (zh) | 一种基于图像统计学的复杂表格交点聚类提取方法 | |
CN113012153A (zh) | 一种铝型材瑕疵检测方法 | |
CN114781290A (zh) | 一种基于目标检测网络的寄生参数提取方法 | |
CN115995086A (zh) | 端子排图纸短连片图元的识别方法、设备及存储介质 | |
CN115578741A (zh) | 一种基于Mask R-cnn算法和类型分割的扫描文件版面分析方法 | |
CN116541912A (zh) | 一种基于cad图像识别生成接线图的方法及装置 | |
CN113743159A (zh) | 一种应用于电力企业的ocr方法 | |
CN111444903A (zh) | 漫画气泡内文字定位方法、装置、设备及可读存储介质 | |
CN116452604A (zh) | 一种复杂变电站场景分割方法、设备及存储介质 | |
CN115294595A (zh) | 一种变电站一次接线图智能解析方法 | |
CN115471845A (zh) | 基于深度学习和OpenCV的换流站数字仪表识别方法 | |
CN115376149A (zh) | 一种报销发票识别方法 | |
CN111382749B (zh) | 一种基于二维结构特征的青铜器铭文图像自动识别方法 | |
CN114299533A (zh) | 基于人工智能的电网接线图元件和线路识别系统及方法 | |
Vaxivière et al. | Subsampling: A structural approach to technical document vectorization | |
CN113158999B (zh) | 基于模板匹配的电气设计图纸中端子跳线识别方法及装置 | |
CN112580452A (zh) | 故障树的处理方法、装置、计算机可读存储介质以及处理器 | |
CN102332088A (zh) | 一种基于游程特征的选票符号机器视觉识别方法 | |
CN112825141B (zh) | 识别文本的方法、装置、识别设备和存储介质 |
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 |