是否可以从手绘图像扫描逻辑门

Is it possible to scan Logical Gates from a handrawn image

我正在为我的大学考虑一个项目,老师们喜欢它,但我不确定它是否可行。

我正在尝试制作一个安卓应用程序。 我想要做的是拍一张手绘逻辑电路的照片(具有 AND、OR、NOT ... 门)识别门,并在手机中制作一个电路,并在所有可能的输入上 运行

逻辑电路示例(假设为手绘)

为此,我将不得不在移动设备上制作一个模拟器,我认为这不是困难的部分。问题是如何从一张图片中识别出大门。

我发现 java 中有一个边缘检测插件,但我仍然认为它不足以识别门。请分享我可以用来制作这个东西的任何算法或任何技术或工具。

这实际上是为了我的 FYP,我找不到任何好的想法,必须在星期四展示它。

您将需要进行某种对象识别(从概念上讲)识别门的最简单方法是简单地在图像和一排门之间进行关联,或者 "alphabet" 您 运行 整个图像上的门模板并寻找最高相关性,这意味着它与模板紧密匹配,您可能会找到您感兴趣的门。这里有一些有趣的 s0 帖子

Simple text reader (OCR) in Matlab

MATLAB Optical character recognition - need help

这本身可能是一项艰巨的任务,但您可以通过添加约束来简化问题。

  1. 比如用户必须在方格纸上作画,每格只能有一个门。这确保您不必为每个门检查各种尺寸

  2. 如果您使用带彩色线条(如蓝色)的方格纸,并且只允许用户使用非蓝色 pen/pencil,您可以轻松移除网格通过过滤掉蓝色通道来处理图像,并且仍然有一个干净的图像可以用来处理。

当然还有比correlation更高级的方法,但是正如我之前所说,从概念上讲,这个模型非常容易理解。希望有帮助

编辑

我刚刚意识到我的两个例子都是在 matlab 中,这里的重点是使用的 logic/process,而不是确切的代码。