问题标签 [bicubic]

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 回答
242 浏览

math - 插值:根据3D表计算校正

这只是出于我个人的兴趣和线性插值问题的后续:基于 2D 表计算校正

当线和校正表使用三个维度时,计算会是什么样子 - 必须使用什么样的插值和公式?

谢谢!

0 投票
3 回答
7236 浏览

algorithm - Matlab中双三次插值的解释?

我对 Matlab 在http://www.mathworks.com/help/vision/ug/interpolation-methods.html#f13689上的双三次插值示例感到困惑

我想我理解他们的双线性示例。似乎他们取了两边相邻翻译值的平均值。因此,为了在第一行第一列中获得 0.5,取 0 和 1 的平均值。

对于他们的双三次插值示例,我对他们的方法感到很困惑。他们说他们采用“两边的两个翻译值的加权平均值”。

在他们的例子中,他们有

在双三次插值的第一步中,他们向矩阵添加零并将其向右平移 0.5 个像素,得到以下结果:

然后,使用加权平均,他们得到

但是,我不确定他们是如何获得这些数字的。而不是第一行第一列中的 0.375 ,我会改为 (1 * 3/8 + 2 * 1/8) = 5/8 。这是因为格式似乎是

其中 d 是距离。

所以要取翻译值的加权平均值,我们可以注意到我们可以首先做 (3d + d + d + 3d) = 1,所以 d = 1/8。这意味着我们应该在每个更接近的翻译值上放置 3/8 权重,在每个更远的翻译值上放置 1/8 权重。这导致 (0 * 1/8 + 0 * 3/8 + 1 * 3/8 + 2 * 1/8),这是 5/8,与他们的 3/8 结果不匹配。我想知道我哪里出错了。

谢谢!

0 投票
1 回答
2790 浏览

matlab - 图像的双三次插值

我有一个具有以下强度的 4*4 图像“A”。

我正在使用 matlab 对此图像进行双三次插值

我得到了一个 7*7 的图像(B)作为输出。

但是我需要一个8 * 8的图像。如何实现。请解释方法。

0 投票
2 回答
146 浏览

interpolation - Bicubic interpolation for multiple dimensions?

There is a Wikipedia article on bicubic interpolation fro 2D functions.

Is it possible to generate the same/similar matrices for ND function interpolation?

0 投票
0 回答
168 浏览

image-processing - 图像处理:使用输入图像中像素的强度值进行插值

当我们进行图像插值时,我认为我们将使用输入图像中像素的强度值。

(A) 我正在阅读GPU Gems Chapter 24. High-Quality Filtering中的三次插值代码。这是他们的代码片段:

示例 24-9。过滤四个 Texel 行,然后将结果过滤为一列

由于他们从 frac(t) 获得子纹素部分,因此“t”并不完全位于输入图像的像素位置。那么“t”如何直接用于从原始图像中采样强度值,例如“texRECT(tex, t + float2(-1, -1))”?

就个人而言,我认为我们应该使用

(B) 与“使用不同插值类型缩放图像”的示例相同

他们的“双三次插值的 GLSL 着色器代码”片段是:

我认为我们应该使用:

然后使用 m 和 n 的偏移量

(C) 现在我很困惑。我认为我们将在输入图像中使用“精确”像素的强度值。我们应该使用哪种方式?

0 投票
0 回答
151 浏览

matlab - 双三次插值中的网格状伪影

我正在尝试按照此处所述实现图像大小调整的双三次插值。

当我尝试三角形或贝尔内核时,结果似乎是合理的。但是当我尝试 B-Spline 或 CatMull-Rom 内核时,我得到了这个网格状的伪影,如图所示(左 CatMull-Rom,右 Bell)。我所做的只是从提供的链接中替换公式中的 Rc 公式。

有什么想法可能导致它吗?

编辑:这是主函数的代码,在 matlab 中完成

这是内核

0 投票
1 回答
1054 浏览

matlab - openCV bicubic imresize 创建负值

我注意到,当使用双三次插值对 openCV 中的矩阵进行下采样时,即使原始矩阵都是正数,我也会得到负值。

我附上以下代码作为示例:

我不明白为什么会这样。我注意到,如果我在 [0,100] 之间选择随机值,则在调整大小后,最小值通常为 ~-24 与 -0.24 的范围为 [0,1] ,如上面的代码所示。

作为比较,在 Matlab 中不会发生这种情况(我知道加权方案略有不同,如下所示:imresize comparison - Matlab/openCV)。

这是一个简短的 Matlab 代码片段,它保存了 1000 个随机缩小矩阵(eahc 矩阵的原始尺寸为 1000x1000)中的任何一个中的最小值:

0 投票
0 回答
206 浏览

image-processing - 双三次插值给出错误的结果

我正在尝试为缩放和倾斜等图像转换实现双三次插值,但图像输出似乎不准确。插值像素有时会溢出超过 255。

这是代码:

输出用于缩放变换

双线性输出: http://i.stack.imgur.com/gVeoF.jpg

双三次输出 http://i.stack.imgur.com/HDKsh.jpg

0 投票
1 回答
739 浏览

java - Java AWT/ImageIO:JPEG 图像的双线性和双三次缩放导致完全黑色的输出

最近邻缩放有效:当我使用TYPE_NEAREST_NEIGHBOR.

尽管它是 Scala 代码,但所有使用的库都是标准 Java 库。

职能:

调用代码片段:

result被写入 SQLite 数据库。如果我从数据库中下载它并将其保存为 JPEG 文件,则生成的 JPEG 是

  • 正如预期的那样,如果我使用AffineTransformOp.TYPE_NEAREST_NEIGHBOR
  • 如果我使用完全黑AffineTransformOp.TYPE_BILINEAR
  • 如果我使用完全黑AffineTransformOp.TYPE_BICUBIC

因此,我指责AffineTransformOp是错误的...... 我该如何解决这个问题?

文件的幻数result总是ff d8 ff与 JPEG 的预期一致。

细节

Java 版本:Java HotSpot(TM) 64 位服务器 VM,Java 1.7.0_71

操作系统:苹果、OS X 10.9.5

测试图片:http ://www.photos-public-domain.com/wp-content/uploads/2012/05/thundercloud-plum-blossoms.jpg

0 投票
1 回答
65 浏览

c++ - 拼凑图像插值

我已经根据我的 3D 模型的顶点手动生成了一个深度图(不,在这种情况下我不能使用 z 缓冲区)。

不幸的是,深度图就像一个有很多洞的拼凑而成。这是它的样子:

http://i.stack.imgur.com/ZHCKr.png

我想以某种方式插入那些缺失的漏洞,但我以前从未做过这样的事情,也不知道如何解决这个问题。

我在考虑双三次/双线性插值。那是我需要应用于我的问题吗?

如果是这样,您能否向我解释一下如何采用这种方法?如果那种插值不是正确的,我该如何解决这个孔问题?