我有一个积分清单。每个点都是x
和y
坐标(两者都是整数)。现在我正在尝试找到已知的图案,例如直线,圆弧或圆,知道这些点在图案上并不完美。
最好的方法是什么?我没有很多线索可以开始。
编辑:点数已订购。用户正在绘制一些东西,程序应检测最佳模式。例如,如果绘制三角形,则应检测三条线。
答案 0 :(得分:9)
看看Hough Transformation。你所做的是:你将图像转换为“圆形”空间,然后你只需找到光像素。
在图像中找到光像素非常简单,只需应用截止值即可。
光像素区域的数量是圆圈的数量。您可以通过应用反函数重建图像上的原始位置。
答案 1 :(得分:3)
经典识别器是神经网络。神经网络工作“没问题”,需要以某种方式进行培训。
神经网络的数学技术和原理可以转移(经适当修改)到我读过的大多数其他识别器;例如,马尔可夫链,贝叶斯模型。
答案 2 :(得分:1)
只要将其限制为基本形状,就可以计算当前笔划的平均“方向”,并从中创建一系列“笔划”。
基于该信息识别形状可能更容易:
答案 3 :(得分:1)
我看一下从某个点P
到其他每个点的距离,而不是P
是圆心,你会得到一些非常明显的统计效果。
您可以撤消此操作并找到具有这些属性的点。作为第一次通过,类似距离的标准偏差可能会起作用,并找到您可以采取相对于位置的衍生物的位置并尝试将其最小化。找到最小值后,尝试找到一组等距离的> 3点。
我希望你需要的东西不是标准偏差,对异常值不太感兴趣,对丛生更感兴趣。
此外,这对你的线路没有多大帮助。
答案 4 :(得分:1)
由于您正在获取像素,并且它们按顺序排列,您可以首先检查绘制的每个第10个像素之间的斜率,然后查看斜率的变化情况。不连续性为您提供了一些信息。