我有一张图片,我用我的程序详细说明了获取坐标列表。
在图像中表示有一个矩阵。在一个理想的测试中,我只会得到矩阵每个正方形的十六个中心点。但在实际测试中,我拿了很多噪音点。
我想使用一种算法从坐标列表中推断出由 16 个坐标组成的组,最能代表一个矩阵。
矩阵可以有任何纵横比(在一个范围之间)并且可以产生一点旋转。但始终是 4x4 矩阵。矩阵并不总是出现在图像中,但不是问题,我只需要最佳匹配。当然,创建点总是超过 16(或者我跳过)
建立点示例:
预期结果示例:
如果有人可以建议我这样做的首选方法,那就太好了。
我在考虑点之间的欧几里得距离。
For each point in the list:
1. calculate the euclidean distance (D) with the others
2. filter that points that D * 3 > image.widht (or height)
3. see if it have at least 2 point at the same (more or less) distance,
if not skip
4. if yes put the point in a list and for each same-distance founded points: go to 2nd step.
最后,如果我在列表中有 16 个点,这可能是一个矩阵。
有更好的建议吗?
谢谢