matlab - 检测网格方向和属性

标签 matlab opencv computer-vision curve-fitting data-fitting

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

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

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

最佳答案

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

  • 计算一个点与所有其他点之间的平方距离;
  • 通过将
  • 除以最小的一,您将获得有理数,这些有理数为您提供有关网格常数d和相对“坐标” m,n的提示。
  • 关于matlab - 检测网格方向和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16003142/

    相关文章:

    c++ - 我怎样才能找到曲线上方的区域

    opencv - 在 Linux(Ubuntu)中编译时无法解析打开 cv 3.0.0 FaceRecognizer 类

    c++ - 带有 pthreads 和 mutexes 的 OpenCV

    python - 如何使用Opencv Python计算图像中有多少个白色 "balls"?

    python - 查找 RGB 颜色 channel 的变化-Python

    python - CTC损失下降并停止

    matlab - 在 Matlab 中使用 inv() 函数会使用所有 RAM 崩溃

    python - Python 中的 MATLAB ind2sub 等价物

    matlab - 四个不同视角的相同子图

    c++ - 在 OpenCV 和 C/C++ 中将 Mat 转换为 IplImage*