【问题标题】:Interpret schematics from a PDF从 PDF 解释原理图
【发布时间】:2015-03-28 03:36:48
【问题描述】:

给定一个带有电气接线图的 PDF:

我必须通读并配置软件,以匹配放置在各个紧急停止电路上的特定电机的接线。在实践中,电路的开头总是在同一页上(打印页,而不是 pdf 页码)。

我想要的是一些指向我需要去的方向的指针,以便能够跟踪电线并沿着每条电线制作一个组件列表,以构建电路。我知道这涉及字符识别,我猜是“图像”识别?能够顺势而为。

一个电路的示例位于:'2012101'(表示控制面板 20。第 121 页。第 01 行)PBL2012101 -> CR2012103

然后下一个电路:COS800-1 -> COS800-2 -> ... -> COS804 -> CR2012133

这些单独的节点有一个标准的外观,一个例外是,如果电路要继续超过该页面的末尾(这只是页面的左半部分),它将转到一个框,指示电路继续的位置就像第 01 行的 PushButtonLight -> [2014263] 一样。

所以我知道,基本上我需要从 pdf 中解析什么,但我在开始时遇到了麻烦。我发现了很多关于阅读字符的结果,但通常讨论的内容是阅读一本书的页面。有人可以建议一个库(因为我认为这将涉及构建一些自定义工具)或其他参考来帮助我吗?


编辑下午 5:02 - 2015 年 3 月 28 日

这里是基于原理图中绘制的电路编写的一些示例代码的链接(尽管我给出的原理图示例是针对同一系统上的不同控制面板)http://pastebin.com/uhMcVJv8

通常我会打开一个 Excel 表并记下每个控制继电器电路 (CR...) 的拉线 (COS...) 和按钮 (PB...)

接下来我将查看此页面:

其中显示了每个电路上的电机 - 例如,按照第一行 CR2012133 上的最后一个继电器转到第 151 页第 00 行 [20.151.00] 然后我放入同一个 Excel 表(在配置代码示例中的结构)这些电机:MTR800 MTR802 ... MTR805A

我正在一个可以访问 Visual Studio 2008 和 2012 的 Windows 系统上进行开发,此外我还安装了 MinGW 库。

【问题讨论】:

  • 请提供示例文档并描述您的开发环境。 有人可以推荐一个图书馆 - 严格来说,这些推荐是这里的主题。
  • 如果不付出很多努力,您将无法做到,我的意思是几个月的工作,在 PDF 中仅提取文本是一个挑战,现在想象一下理解线条来构建原理图,如果你所有的图纸都是一样的,你可以只阅读文本并通过位置推断连接到什么。
  • .. 例如:如果绘图软件通过绘制单个线段来创建这些虚线怎么办? 也许可以通过将自己限制为一种由单个应用程序创建的 PDF,因此(尽可能)可以预测哪种信息是如何编码的。
  • 我明白要让它变得健壮需要相当多的工作,但正如你提到的那样,图纸确实有一些标准,例如 EStop 电路总是从第 121 页开始。我们确实有一个已经提取文本信息的过程,然后将其输入到 SQL 表中,但是我只看到了这个结果,而不是实际的方法。该表包含wire_numberfrom_pointto_point。我花了几个小时试图找出方法来查看电路从该表开始和停止的位置。我无法区分控制继电器命令和其他问题
  • @AChrapko 只要您不提供具有代表性的示例文档,您只能被告知一般来说您的任务非常复杂。示例可能表明,在您的情况下,PDF 内容更容易解释,因此会产生帮助您的提示;或者它可能表明您确实应该出于复杂性原因放弃该任务。

标签: pdf image-processing computer-vision ocr


【解决方案1】:

将此作为评论处理

  1. 这需要付出巨大的努力才能使某些东西变得不健壮!!!

    • 鲁棒性完全不同
  2. 我会忽略 PDF(开始时)并从屏幕截图或打印概览图像作为输入开始。

  3. 让您熟悉线检测算法

  4. 通过 OCR 或相似性识别零件

    • 为此,您将需要可用部件表
    • 可以使用simple OCR 方法
    • similar images detection
    • 如果电路具有相同(或相似)的规模,那么您可以简化检测
  5. 我会将文本作为最后处理(从剩下的内容开始)

  6. 了解电路

    • 以上所有要点都是关于很难识别的
    • 但与此相比,它是小菜一碟
    • 您需要重新创建电路以匹配源图像
    • 然后从中了解所需的信息
    • 所以从闭环检测和互连列表开始
    • 您需要创建结构、层次结构来处理内存中的电路
    • 我还要添加一些图像输出
    • 并将其与源图像进行比较以检查是否有什么不同
    • 比如搞砸了的连接、错过了线路等......
    • 我不知道有任何库或论文处理这种东西
    • 但这并不意味着那里没有...

这项任务如此艰巨,以致于几个月内完成是值得怀疑的

  • 电路图变化很大(总线使用情况、样式...)
  • 电路上的文本可能会搞砸一切......
  • 零件图像有更多约定
  • 如 cmets 中所述,尽量限制输入
  • 还有一些与操作员的反馈是一个明智的补充
  • 如您所见,此主题过于宽泛,无法在此处提供单一答案,因此 (+Close)
  • 你应该在碰壁时开始并提出具体的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2015-12-29
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多