您如何在图像(2D)中的点之间进行插值,例如使用样条?

信息处理 图像处理 离散信号 图片 插值
2022-02-01 20:35:44

我可以很好地理解如何在一个坐标是另一个坐标的函数的数据点上使用一维插值:y = f(x). 然而,当我们有一幅图像时,我们通常在图像中的点不是由这样的函数唯一给出的,例如两个点(x1,y1)(x1,y2),那么我们如何描述它以便在图像中的点之间进行插值呢?

2个回答

2d 插值有多种方法(this onethis one)。但他们中的大多数认为至少 4 个点而不是 2 个。最简单的 2d 插值是 3 1d 插值,其中您将(x1-d1, y1-d2)和之间的点内插(x1+d1, y1-d2)(x2,y2),然后将(x1-d3, y1+d4)和之间的点内插(x1+d3, y1+d4)(x3,y3)最后(x1,y1)通过 和 的一维插值(x2,y2)得到(x3,y3)

最简单的插值方法是最近邻法。如果您有 4 个点的值由 Ms 给出,则插值由 P = f(x,y) 给出:

 =f(x,y)

= M_11 如果 |xx1|<=|xx2| |yy1|<=|yy2|,

= M_12 如果 |xx1|<|xx2| |yy2|<|yy1|,

= M_21 如果 |xx2|<|xx1| |yy1|<|yy2|,

= M_22 如果 |xx2|<|xx1| |yy2|<|yy1|.

另一种方法是双线性插值。给出:在此处输入图像描述

在这两种情况下,Ms 代表 4 个点中的每个点的值。x 和 y 是坐标。

我认为当你有一个统一的网格(即你的 Ms 间隔相等)时,这些方法会更好。更高级的方法可能能够捕获更复杂的数据位置。例如克里金法。

您询问了 2D 空间中的 2 点插值。也许这发生在边缘,也是您获得边缘效应的部分原因。其他人将能够对此进行纠正。我希望这会有所帮助。 在此处输入图像描述