C#中简单的几何形状识别

时间:2009-05-28 13:30:18

标签: c# geometry shapes

我有一组笔画(来自墨迹),并希望找到那些参与几何形状的笔画,如直线,方形,圆形,三角形......并识别它们。

到目前为止,我已经看到许多可用于位图的算法。

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

2 个答案:

答案 0 :(得分:4)

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

e.g。形状:{{0,90,180,270},{270,90,45,180}}

为每个表条目执行以下操作:   对于每个角度,请执行以下操作     取两个角度之间的绝对差值,并添加一个运行总计   存储运行总计

最小的运行总数是它最接近的形状。

请注意,顺便找出两个角度之间的差异。存在环绕问题。 角度:359和1非常接近......但如果你简单地减去它们,它们会相隔358度。

希望这是可以理解的

答案 1 :(得分:1)

您可以尝试使用机器学习技术来训练您的代码以了解您感兴趣的形状。这类似于很多人为wii遥控器识别手势所做的事情。这是一个例子:

http://mm-werkstatt.informatik.uni-augsburg.de/project_details.php?id=46