【发布时间】:2016-03-22 22:31:34
【问题描述】:
我有兴趣通过在前一帧和下一帧之间进行插值来“修复”“损坏”的帧(因此,忽略坏帧并创建一个没有损坏的新帧)。
我可以试试:
c = ((1-r)*a + r*b); %Where r = 0.5
它会根据需要创建一个中间帧,但是它会在图像中引入我想避免的模糊。如果我删除 r 因子(基本上等于 1),则生成的帧基本上是等式中的后一帧(在本例中为 b),因此它不完全是我想要实现的中间图像。 Q1:如何获得中间的、不模糊的图像?
我知道 Matlab 中的scatterInterpolant 函数,但我不知道如何实现它。我见过类似的问题:2D interpolation using TriScatteredInterp (Matlab)
然而,
t = [10, 20, 30, 20]
F = TriScatteredInterp(x, y, t)
t 的使用和需要让我感到困惑。我在想 x 和 y 可以分别是前一帧和下一帧的像素位置(所以我需要在遍历每个像素的循环中运行这个函数),但我觉得我可能看错了这个函数. Q2:这个功能可以用来实现中间的、不模糊的图像吗?如果可以,我该怎么做?
【问题讨论】:
-
Motion interpolation 可能就是您要找的。span>
-
在寻找 matlab 的实现之后,我找到了scholar.harvard.edu/stanleychan/software/…。 (以防其他人好奇)。不确定它是否真的是它发现的中间体。仍在努力理解它。 @Daniel 你知道运动插值的另一个 Matlab 实现吗?
-
从未对该主题进行过任何与 MATLAB 相关的研究。
标签: matlab frame interpolation