[发明专利]一种图形逻辑组态的识别方法在审
申请号: | 201811181330.X | 申请日: | 2018-10-11 |
公开(公告)号: | CN109408916A | 公开(公告)日: | 2019-03-01 |
发明(设计)人: | 张铁男;赖晓路;刘元;王永;王辉;易金宝;任立飞;朱健;绍会学;肖碧涛 | 申请(专利权)人: | 南京国电南自维美德自动化有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林;张赏 |
地址: | 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 逻辑节点 图像文件 逻辑图 连接线 输出逻辑 图形逻辑 绘制 组态 二值化处理 逻辑表达式 递归算法 时间成本 中值滤波 重新组态 遍历 拍照 扫描 | ||
1.一种图形逻辑组态的识别方法,其特征在于,包括以下步骤:
1)绘制逻辑图,所绘制的逻辑图由逻辑节点和连接线构成,逻辑节点之间通过连接线连接;所述逻辑节点是一个封闭的矩形,在封闭的矩形内部标注信号类型标识符,在矩形的正下方标注信号名;
2)将绘制好的逻辑图进行拍照或扫描,生成一个图像文件;
3)对所生成的图像文件进行中值滤波和二值化处理;
4)识别图像文件中的逻辑节点,并将获取的每一个逻辑节点的信息保存,所述逻辑节点的信息包括:逻辑节点的信号类型标识符,信号名和逻辑节点ID;
5)识别连接线,并将连接线两端的逻辑节点信息记录保存下来;
6)遍历逻辑节点,找到输出逻辑节点,求出该输出逻辑节点的逻辑表达式。
2.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤1)中,所述信号类型包括:遥信,遥测,输出和运算符,其中,遥信标识符采用D,遥测标识符采用A,输出标识符采用O,运算符的标识符采用惯用数学符号;所述信号名采用一对中括号包围的字符串表示。
3.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤4)中,识别图像文件中的逻辑节点具体过程如下:
41)使用KNN算法对逻辑图中所使用的字体进行图形标记;
42)对二值化图像进行Canny边缘检测,再进行统计概率霍夫变换,识别出所有完整线段;
43)遍历线段,识别出所有的矩形;
44)使用KNN算法识别逻辑节点矩形内的标识符,并给逻辑节点一个唯一的ID编号;
45)识别信号名;
46)计算每一个逻辑节点的矩形底边中点与每一个信号名顶部中点的距离,将距离最小的那对组合关联起来,即为逻辑节点及其对应的信号名。
4.根据权利要求3所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤45)识别信号名过程如下:
44a)识别所有的字符,将识别到的字符进行遍历,记录下所有的 [ 字符;
44b)以每个 [ 字符为起点,寻找y坐标与之相差2个像素内,x坐标大于该[字符x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;
44c)继续下一个字符,寻找y坐标与[相差2个像素内,x坐标大于步骤44b)找到的字符的x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;直到找到了一个] 字符,则该信号名查找结束;
44d)返回步骤44b),将所有的信号名都找到。
5.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤5)连接线识别过程如下:
51)从识别的线段中取出一条线段,如果该线段没有标记为已完成,则将该线段与其余线段进行相交检测;
52)当选择的线段的任意一个端点与另一个线段的任意一个端点的坐标相等时,将选择的该线段的相交计数器加一;
53)循环遍历结束之后,如果线段的计数器等于0或1,则将该线段标记为端线段;
54)遍历相交计数器为0的端线段,创建一个连接线对象,检测每个端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息;
55)遍历计数器为1的端线段,检测端点与其余线段的相交情况,如果找到了一个线段与端线段相交,则将该线段标记为已完成,并且将该线段的另一个端点与其余线段进行相交检测,直到找到一个端线段为止,这样,就构成了一条连接线,遍历后,将所有相连的线段都标记为已完成;
56)检测步骤55)的连接线的端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息。
6.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤6)输出逻辑节点的逻辑表达式求解过程如下:
61)遍历逻辑节点,找到输出节点;
62)根据输出节点所在的连接线对象,找出与该输出节点对应的输入信号运算符逻辑节点;
63)对该运算符逻辑节点调用递归函数,并将该递归函数的返回表达式外部加一对括号,作为输出节点的表达式;
64)遍历所有的连接线对象,找出与该运算符逻辑节点对应的所有的输入信号逻辑节点,并对这些输入信号逻辑节点调用递归函数;如果逻辑节点为信号节点,则转入步骤65);如果该节点为运算符逻辑节点,则返回步骤64);
65)返回该逻辑节点的信号名;
66)将每个递归函数返回的表达式外部加一对括号;
67)将这些带括号的表达式使用步骤63)的运算符相连,即该逻辑图所要表达的逻辑表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京国电南自维美德自动化有限公司,未经南京国电南自维美德自动化有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811181330.X/1.html,转载请声明来源钻瓜专利网。