我想知道,我应该如何处理电路图的手绘图像,以便将绘制的电路数字化并最终对其进行模拟。
我的程序的输入将是常规图片(智能手机等),最终的输出应该是电路中所有可能值的模拟(此处未涵盖/要求)
基本上我需要能够检测的是具有固定数量连接的电气元件(2 个连接,例如 R、L、C、二极管)以及连接它们的线路。
我已经有一个预训练的神经网络来检测它是什么类型的组件。我遇到的困难是,如何获得组件周围的边界框,以便我可以使用神经网络对它们进行分类?我尝试了几种使用 OpenCV 进行轮廓和对象检测的方法(例如
FindContours
、ConnectedComponentsWithStats
),但我似乎无法让它仅检测组件,而不是组件之间的文本或连接线。
基本上我想要的是以下内容:
我想知道:
基本上 这些边界框
这用于提取组件并使用我已有的模型对它们进行分类。
此外,我想提取最接近任何组件的文本,以便我可以读取每个组件的值。我已经在
tesseract-ocr
的帮助下成功进行了 OCR,所以如果我可以在文本周围找到边界框,我就可以轻松读取这些值。
但是我最困难的部分是找出哪个组件连接到哪个其他组件,我不确定应该如何处理这个问题。真的很难找到一些东西来搜索我的问题,并且不确定我应该如何描述这个问题。但总的来说,我需要足够的信息才能使用矩阵模拟(基本直流分析)来模拟电路。
我没有明确要求代码,我需要一般指导来解决这个问题。或者甚至可能链接到解决类似问题的研究论文。