问题标签 [bilinear-interpolation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1704 浏览

r - 从 akima::interp() 矩阵中获取函数

使用 interp 函数(Akima 包),可以绘制对应于数据集的二元插值的表面,请参见下面的示例(来自 interp 文档):

但是,输出只是描述一组点的列表,而不是一般函数。

问题:有什么方法可以获得与先前获得的表面相匹配的函数 z = f(x,y) ?我知道它可以使用 interp(akima$x, akima$y, akima$z, xo=A, yo=B) 工作,但是速度很慢。

在二维中, approxfun() 函数可以完成这项工作,但我找不到多参数插值的等价物。

0 投票
0 回答
448 浏览

matlab - 使用 cv.remap (mexopencv) 而不是 interp2 (MATLAB)

我正在试验mexopencv项目,该项目允许使用 MATLAB 文件中的 OpenCV.m,以便将本机 MATLAB 函数的性能与 OpenCV 函数进行比较

我想替换对 MATLABinterp2函数的调用:

Vq = interp2(X,Y,V,Xq,Yq)使用线性插值在特定查询点返回两个变量的函数的插值。结果总是通过函数的原始采样。X 和 Y 包含样本点的坐标。V 包含每个采样点对应的函数值。Xq 和 Yq 包含查询点的坐标。

替代应该是对cv.remap函数的调用。

对图像应用通用几何变换

三个 SO 问题Similar OpenCV Api for interp2 in Matlab , How to do grid interpolation interp2 in OpenCVcv::remap (in opencv) 和 interp2 (matlab)remap表明可以使用 OpenCV 函数代替原生 MATLAB 函数interp2,但是我不知道如何正确解释/转换参数(我没有关于 MATLAB 和计算机视觉的经验)。

如何使用 mexopencv 函数cv.remap获得与调用相同的效果Vq = interp2(X,Y,V,Xq,Yq)

0 投票
2 回答
4029 浏览

opencv - OpenCV resize() 结果错误?

使用双线性插值将 2x2 矩阵放大到 5x5 的示例程序。对于这种简单情况,OpenCV 产生的结果在边界处有伪影。

输出:

预期输出:

问题是什么?

0 投票
1 回答
1291 浏览

c# - 二维字典或查找表?

我不完全确定我需要什么。

在此处输入图像描述

我在 CSV 文件和 SQL 数据库中有这些数据。我需要做的是能够使用表格进行双线性插值。那么当说 d = 2.5 和 HVL = 1.6 时,解决这个问题的最佳方法是什么?我可以执行的计算只是不确定如何从表中选择适当的数字,某种形式的 LINQ 语句?

编辑:

对于图 1.6 和 2.5,我需要选择围绕它的数字作为 2x2 矩阵(双线性插值

在此处输入图像描述

谢谢

0 投票
1 回答
188 浏览

c++ - 双线性插值 - OSRM Rastersource

我有一个关于 OSRM-Project 中的双线性插值的问题。我了解“正常”双线性插值。这是来自维基百科的图片,什么是疯狂的:

双线性插值 - 维基百科

现在我试图了解在 OSRM-Project 中用于栅格源数据的双线性插值。

原始代码在这里

有人可以解释一下代码是如何工作的吗?

输入格式是 ASCII 格式的SRTM数据。

变量heightwidth定义为nrowsncolumns。变量xstepystep定义为:

其中countystep高度xstep宽度maxmin类似。

还有一个问题:我可以对TIF 格式的数据和全世界的数据使用相同的代码吗?

0 投票
0 回答
310 浏览

caffe - 反卷积层 FCN 初始化 - 损失下降太快

我正在训练一个小型(12K 图像上的 10M 权重)FCN(参见例如 Long et al, 2015)。架构如下(从FCN8s fc7层开始):

当我用高斯权重初始化所有反卷积层时,我得到了一些(尽管不总是)合理的结果。然后我决定以正确的方式做,并使用 Shelhamer 提供的脚本(例如https://github.com/zeakey/DeepSkeleton/blob/master/examples/DeepSkeleton/solve.py

反卷积层看起来像这样(第一个):

我得到的输出真的很奇怪:损失下降很快(1000 代),并且保持在 1 左右,但该模型在测试集上完全没用。有什么建议么?我降低了学习率,但似乎没有任何效果。

PS:培训的简短打印输出

0 投票
1 回答
101 浏览

qt - 取自 Item 的纹理:我可以让它的过滤是伽马正确的吗?

如果这是我创建的纹理,我只需将其 internalFormat 设置为GL_SRGB. 但是我将 Qt Quick 传递Item foo到我的自定义QQuickFramebufferObjectGL 代码中,在那里我获取foo->textureProvider()->texture()并使用该纹理进行渲染。

那么我可以使纹理的过滤(当双线性采样时)是伽玛正确的吗?

注意:我知道我可以使用 4 个纹理抽头和 lerping 实现手动双线性过滤,但这会在一定程度上损害性能,所以我正在寻找更好的方法。

或者我可以从 Qt Quick 纹理转变成GL_SRGB我自己的纹理,然后使用该纹理,但这更复杂,并且每次更新源纹理时都需要发生这种情况,从而损害性能(和 RAM 使用)。

我已经在谷歌搜索了 Qt 可能提供的用于配置它的钩子,但除了 QQuickTextureFactory 之外什么都没有找到,但是它并不能解决我的问题,至少 AFAICS 是这样。

我需要支持 OpenGL ES 2.0。

0 投票
2 回答
1867 浏览

c++ - 多个双线性插值的更快方法?

我正在用 C++ 编写一个程序,从一组投影的 2D 图像中重建一个 3D 对象,其中计算最密集的部分涉及通过双线性插值放大和移动每个图像。我目前有两个功能可以完成这项任务;“blnSetup”在循环外定义了一些参数,然后“双线性”在循环内逐点应用插值:

(注意:'I' 是一个包含有序图像数据行的一维数组)

编辑:函数调用如下。“flat.imgdata”是一个包含输入图像数据的 std::vector,“proj.imgdata”是一个包含转换后图像的 std::vector。

自从我开始优化以来,通过在插值函数中从 std::vectors 切换到 C 数组,我已经能够将计算时间减少约 50 倍(!),并通过清理冗余计算/类型转换/等再减少 2 倍左右,但是假设 O(n) 和 n 是处理像素的总数,完整的重建(~7e10 像素)仍然需要 40 分钟左右——比我的目标 <5 分钟长一个数量级。

根据 Visual Studio 的性能分析器,插值函数调用 ("II = bilinear(x, y, bln);") 毫无疑问仍然是我计算负载的主要部分。我还没有找到任何用于快速多重插值的线性代数方法,所以我的问题是:这基本上和我的代码一样快,除了对任务应用更多或更快的 CPU 吗?或者是否有不同的方法可以加快速度?

PS 我现在也只用 C++ 编码了大约一个月,所以请随时指出我可能犯的任何初学者错误。

0 投票
1 回答
572 浏览

python-3.x - bilinear interpolation for angles

I have a 2d array of directional data. I need to interpolate over a higher resolution grid however the ready made functions like scipy interp2d, etc don't account for the discontinuity between 0 and 360.

I have code for doing this for a single grid of 4 points (thanks How to perform bilinear interpolation in Python and Rotation Interpolation) however I would like it to accept big data sets at once - just like the interp2d function. How can I encorporate this into the code below in a way which doesn't just loop over all of the data?

Thanks!

0 投票
1 回答
5695 浏览

r - R中的二维线性插值

我想在 R 中做一个双线性插值,但我不知道如何用函数来做,因为我得到了一个半填充数字和半填充的矩阵。这是我的问题的一个例子:akima interpNA

我也尝试使用函数interp.surface.grid形式fields,但z必须是一个包含所有值的矩阵,x并且y我没有使用它,所以它不起作用。

编辑 这是我实际拥有的yz向量: