双线性插值 - 网格外的点

发布于 2025-01-14 12:35:48 字数 448 浏览 2 评论 0原文

假设我有一个 10x10 像素的网格。假设每个像素的值为1(这并不重要)。现在在典型情况下,如果我想对网格内的一个点进行采样,例如 p1=(0.5,0.5)=(x,y),那么我们可以通过以下方式应用双线性插值:

通过地板 x 和 x2 查找 x1 = x1+1。 x1=0, x2=1

通过对 y 求底,y2 = y2+1 y1=0, y2=1

结果值将是像素值 (0,0),(1,0), (0,1),(1,1)。

然而,假设现在我有一个点位于网格之外。点p2=(9.5,9.5)=(x,y)。请注意,由于网格是 0 索引的,因此该点位于网格之外。在这种情况下,x1 和 y2 是什么?最接近的像素坐标是什么?我们是否只需将 x 更改为点 (9,9),然后使用像素 (8,8),(9,8),(8,9),(9,9) 执行双线性插值?或者我们是否执行某种填充?

如果有多种方法,我正在寻找大多数图书馆都会使用的一种。

Suppose I have a 10x10 pixel grid. Assume that each pixel has value 1 (it is not important). Now in the typical case, if I would like to sample a point inside of the grid, for example p1=(0.5,0.5)=(x,y), then we can apply bilinear interpolation by:

Finding x1 by flooring x and x2 = x1+1. x1=0, x2=1

Finding y1 by flooring y and y2 = y2+1 y1=0, y2=1

The resulting values will be a function of the values of the pixels (0,0),(1,0),(0,1),(1,1).

However, suppose now that I have a point outside of the grid. The point p2=(9.5,9.5)=(x,y). Note that as the grid is 0-indexed this point is outside of the grid. What will x1 and y2 be in this case and what will my nearest pixel coordinates be? Do we just change x to the point (9,9) and then perform bilinear interpolation using pixels (8,8),(9,8),(8,9),(9,9)? Or do we perform some kind of padding?

If there are multiple approaches, I am looking for the one that most libraries would use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独自唱情﹋歌 2025-01-21 12:35:48

根据双线性插值的定义,您需要取单元中心最接近该点的 4 个最近点,在本例中为 (8,8)、(8,9)、(9,8) 和 (9, 9).如果您以任何其他方式或此定义的任何变体执行此操作,则不会进行双线性插值。
如果你仔细想想,这确实有道理,因为没有办法知道超出此点的任何内容,因此我们最好的猜测是使用最接近此点的 4 个点来估计值。

By definition of bilinear interpolation, you need to take the 4 nearest points whose cell centres are closest to the point, which in this case will be (8,8), (8,9), (9,8) and (9,9). If you do it any other way, or any variation of this definition, you wouldn't be doing bilinear interpolation.
If you think about it, it does make sense since there is no way to know anything beyond this point, and so our best guess would be to use the 4 points closest to this point to estimate the value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文