我在考虑为我的大学开设一个项目,老师喜欢它,但我不确定它是否可能。
我正在尝试创建一个andriod应用程序。 我想做的是拍一张手绘逻辑电路(有AND,OR,NOT ......门)识别门,并在移动电路中制作电路并在所有可能的输入上运行
逻辑电路示例(假设其手绘)
为此,我将不得不在移动设备上制作模拟器,我认为这不是困难的部分。问题是如何识别图片中的大门。
我发现java中有一个边缘检测插件,但我仍然不认为它应该识别门。请分享我可用于制作此东西的任何算法或任何技术或工具。
这实际上对于我的五年级来说,我找不到任何好的想法,并且必须在周四提出这个想法。
答案 0 :(得分:1)
你需要做一些对象识别,最简单的方法(概念上)识别门是简单地在图像和一组门之间进行相关,或者是一个"字母"您在整个图像上运行门模板并查找最高相关性,这意味着它与模板紧密匹配,您可能找到了感兴趣的门。这里有一些有趣的s0帖子
Simple text reader (OCR) in Matlab
MATLAB Optical character recognition - need help
在它自己身上这可能是一项艰巨的任务,但你可以通过添加约束来简化问题。
例如,用户必须在方格纸上绘图,并且每个网格只能有一个门。这可确保您不必检查每个门的各种尺寸
如果您使用带有彩色线条的方格纸(如蓝色)并且只允许用户使用非蓝色钢笔/铅笔,您可以通过过滤处理图像时轻松删除网格蓝色通道,仍然有一个干净的图像处理。
当然有比相关更先进的方法,但正如我之前所说的,从概念上讲,这个模型很容易理解。希望有所帮助
修改强>
我刚刚意识到我的两个例子都在matlab中,这里重点是使用的逻辑/过程,而不是确切的代码。