4

我正在尝试为 interp2 寻找一个等效的 opencv 函数,我知道这 cv::remap是一个很好的方法。

但是,如果我有以下情况:

f2 = interp2( x, y, f, x2, y2, 'bicubic' );

wherex, y, x2y2are all (say mxn) 矩阵,我不知道如何使用cv::remap它。

我将如何使用remap它?我知道我必须将其转换为地图......但我无法这样做。

而且,还有什么可以interp2像matlab函数那样做的吗?

4

2 回答 2

2

如果您还没有找到答案,这就是您应该使用它的方式。

remap(f,f2,x2,y2,CV_INTER_CUBIC);

函数 remap 假设您正在处理定义 f 的网格,因此无需传递 x,y 单调坐标。我几乎可以肯定矩阵不能是 CV_64F(双)所以,考虑到这一点。

于 2013-11-20T13:27:35.157 回答
0

interp2 是插值器 - 如果您获得某个网格的 x、y 和 f 值,它会为您提供 x2 和 y2 的值​​ f2。

remap - 通过根据变形贴图移动 x 和 y 坐标来包裹您的网格。

如果你想插入常规网格然后使用缩放(例如 cv::resize)。

如果数据是分散的,那么您可以使用 Delaunay 三角测量,然后使用重心插值作为变体或 反距离加权

于 2013-11-11T17:54:34.283 回答