2009-05-28 51 views
4

我有一组笔画(来自墨迹),并希望找到那些参与线条,方形,圆形,三角形等几何形状的笔触,并识别它们。C#中的简单几何形状识别#

到现在为止,我已经看到了许多在位图上工作的算法。

我的问题是更容易因为我已经有了很好的观点。 但仍然需要找到最接近的几何形状。 谢谢 约翰

回答

4

笔划转换为载体(例如角度)。例如:272,93,42,179 现在将这些角度与要识别的存储角度表进行比较:

例如,形状:{{0,90,180,270},{270,90,45,180}}

为每个表项执行以下操作: 每角执行以下 采取两个角度之间的绝对差,以及添加他们一个跑步总数 存储运行总数

最少的runningtotal,是它最接近的形状。

小心顺便找出两个角度之间的差异。这是环绕的问题。 角度:359和1是非常接近的分开......但如果你简单地将它们相减,它们相距358度。

希望这是可以理解的

+1

如果笔划的方向并不重要,不要忘记将所有的角度包裹在180度。 (所以角度%= 180)。这种方式上下笔画是一样的 – Toad 2009-05-28 20:13:07