我使用YOLO来训练和识别带有标签(字母)的7种不同的逻辑门.
检测输入图像中的逻辑门和标签.
在这里,我得到了一个包含每个矩形的数组列表(框).每个列表包含以下每个详细信息
依次按矩形
•矩形标签
•矩形左上角的x,y坐标
•矩形右下角的x,y坐标
矩形框数组.
Boxs = [[‘AND’,(614,98),(1146,429)],[‘NOT’,(525,1765),(1007,1983)],[‘NAND’,(762,1188),(1209,
1528)],[‘NOR’,(1323、272),(1884、682)],[‘OR’,(575、599),(1225、985)],[‘XOR’,(1393、1368),(2177,
1842)],[‘XNOR’,(2136、859),(2762、1231)],[‘A’,(34、50),(321、224)],[‘B’,(12、305),(344,487)],[‘C’,(3,
581),(391、779)],[‘D’,(0、828),(400、1060)],[‘E’,(0、1143),(354、1351)],[‘F’,(0、1418),(313、1615)],[‘G’,
(0,1753),(301,1985)],[‘OUTPUT’,(2810,940),(3069,1184)]]
之后,我使用概率霍夫线变换来检测标签和逻辑门之间的线.
为此,我引用了此链接[How to merge lines after HoughLinesP?.通过使用此链接,我减少到最少的行数,最后只得到35行.
检测绿色的35条线
然后,我对这35条线进行分类,并将彼此接近的线分组.最终,我得到了14行.
最后的14行图像.
14行数组.
final_line_points = [[[((87,1864),(625,1869)]],[[((623,1815),(1354,1855)],[(1343,1660),(1770,1655)],
[(1348,1656),(1348,[[(102,971),(531,945)],[(518,835),(892,825)],[(521,830),(526,949)]],
[[(105,1260),(494,1254)],[(487,1351),(891,1340)],[(489,1252),(491,1356)]],[[((107,1533) ),
1510)],[((516,1432),1410)],1433),(520,1514)]],[[((111,432),(519,396)]],[( 499,313),(820,
299)],[(503、310),(506、402)]],[[(123、157),(496、150)],[(493、144),(498、247)],[( 495,242),(815,234)]],
[[(170,692),(509,687)],[(504,771),(888,764)],[(505,685),(508,775)]],[[((936,264) ),(1229,261)],[(1227,
257),(1240、485)],[(1234、481),(1535、458)]],[[(985、1361),(1343、1347)],[(1341、1344),1578)],
[(1345,1575),(1773,1571)]],[[((991,796),(1264,778)]],[(1240,535),(1544,520)],[(1247,532),
(1254,783)]],[[(1546,582),(2156,489)],[(2154,488),(2148,1021)]],[[((2153,1087),(2164,1581) )]],
[[((2444,1139),(3017,1055)]]]
那么,如何通过使用以上两个数组(框,final_line_points)获得以下输出?