c++ - 二维插值

标签 c++ algorithm qt datagrid interpolation

我开发了一个小程序,可以让我加载图像,然后对其进行一些角度测量。这是一个屏幕截图(此屏幕截图中没有加载图像)。

Screenshot of the program

完成所有测量后,我有一个 x、y 和角度值列表。我想做的是对它们进行插值以生成某种图形。 我宁愿直接实现此功能而不依赖任何其他库(只要可能并且不要太复杂)。

基本上我看到了两个步骤,首先是对数据进行插值,其次是从中生成图表。

起初我打算实现一些双三次插值,但这种插值需要一个规则的网格,我不能保证。

目前我认为我有主要的选择:

  1. 将我的数据转换为规则网格,然后进行双三次插值。
  2. 找到另一种不需要规则网格的插值。

你认为我应该走哪条路?你知道我应该使用哪种网格重新定义/插值吗?我对这两种方法都没有任何意见,但我认为这会花费我很多时间,而且我不想到最后才意识到自己陷入了死胡同。

如果这与我在 Qt 和 Windows 上工作有任何相关性的话。

编辑:基本上我最终想要这样的东西:

Final picture

最佳答案

您正在寻找的是 2D 最小二乘拟合函数,并生成热图或 3D 表面。

QWT 是一个很好的库,可以帮助绘制它,但没有它也是可行的。

Google Least Squares 2D Calculation

关于c++ - 二维插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001321/

相关文章:

c++ - Cmake查找匹配cpp代码的头文件

c# - ServicedComponent 未在终结器中处理

c++ - 为什么 DirectX Device Present Hook 无法绕道工作?

在不使用任何数据结构的情况下找到两个集合的交集的算法

algorithm - 在 F# 中编写重复文件查找器的技巧

python - 是否有任何 python 代码或 Gale Shapley 算法的修改,以便它可以解决不完整偏好列表的稳定婚姻问题

c++ - 如何在qt中使用QStackedwidget从一个ListWidget导航到另一个ListWidget

c++ - 使用 Lua 的游戏引擎多线程

Qt - 如何使用 "WHERE ... IN"子句将 QList 绑定(bind)到 QSqlQuery?

c++ - 错误 : C1083: Cannot open include file: 'QJson/Parser' : No such file or directory