matlab - 检测网格方向和属性

我收集了许多点,这些点以统一的网格状方式排列。给定这些点,我如何检测该网格的属性,例如它的旋转,线之间的间距等?如果有某种算法可以使许多平行线和垂直线适合此数据,那么我可以平均线之间的距离, Angular 等。做这个的最好方式是什么?

更新:
我正在使用的数据大致如下所示:

将来会更干净,但是我只需要某种方法就可以插值和分析类似于网格的模式。

最佳答案

如果将点放置在网格上,则2个点之间的平方距离为d²×(m²+n²),其中d是网格常数(假设它是在两个主方向上具有相同常数的2D矩形网格),并且m,n是整数,定义两个点之间的(仿射)差(或更简单的是,沿着“x”和“y”轴的两个点之间的网格间隔数)

  • 计算一个点与所有其他点之间的平方距离;
  • 通过将
  • 除以最小的一,您将获得有理数,这些有理数为您提供有关网格常数d和相对“坐标” m,n的提示。
  • https://stackoverflow.com/questions/16003142/

    相关文章:

    python - 使用OpenCV人脸检测时出错

    python - OpenCV 3.0缺少诸如drawMatches和drawMatchesKNN的

    opencv - 如何从gpuHog获取描述符?

    opencv - 检测图像中的标记以用于OpenCV中的透视变换

    opencv - OpenCV HoughLines是否使用本文:通过改进的Hough变换投票方案进

    opencv - 如何找到两个二进制图像之间的旋转

    python - 将 h264 RTSP 流读入 p​​ython 和 opencv

    opencv - 使用JavaCV开发我们需要安装什么?

    python - 用向量作为numpy中的条目迭代矩阵的最快方法

    opencv - 如何删除 OpenCV FileStorage 对象中的文件节点