虽然 Ants Aasma 所说的大致描述了差异,但我认为它并不能特别说明您为什么会这样做。
就链接而言,您在图像处理中提出了一个非常基本的问题,任何关于该主题的体面的入门教科书都会对此进行描述。如果我没记错的话,Gonzales and Woods 是不错的,但我远离我的书,无法检查。
现在谈谈细节,从根本上考虑你在做什么应该会有所帮助。您有一个要为其插入新值的测量方格。在简单的上采样案例中,假设您希望在已有的每个测量值之间进行新的测量(例如,将分辨率提高一倍)。
现在您不会得到“正确”的值,因为通常您没有该信息。所以你必须估计它。这个怎么做?一种非常简单的方法是线性插值。每个人都知道如何用两个点来做到这一点,你只需在它们之间画一条线,然后读取线外的新值(在这种情况下,在中间点)。
现在图像是二维的,所以你真的想在左右和上下方向上都这样做。将结果用于您的估计,瞧,您有“双线性”插值。
这样做的主要问题是它不是很准确,尽管它比“最近邻”方法更好(而且更慢),后者也非常局部且快速。
要解决第一个问题,您需要比两点的线性拟合更好的东西,您想要将一些东西拟合到更多数据点(像素),以及一些非线性的东西。精度和计算成本的一个很好的权衡是所谓的三次样条。因此,这将为您提供一条平滑的拟合线,并再次通过中间的值来近似您的新“测量值”。在两个方向上都这样做,你就得到了“双三次”插值。
所以这更准确,但仍然很重。解决速度问题的一种方法是使用卷积,它具有很好的特性,在傅里叶域中,它只是一个乘法,所以我们可以很快地实现它。但是您无需担心实现,以了解任何时候的卷积结果都是一个函数(您的图像)被集成到另一个产品中,通常支持更小的支持(非零部分)称为内核的函数),在该内核以该特定点为中心之后。在离散世界中,这些只是产品的总和。
事实证明,您可以设计一个具有与三次样条非常相似的属性的卷积核,并使用它来获得快速的“双三次”
Lancsoz 重采样是类似的事情,内核中的属性略有不同,这主要意味着它们将具有不同的特征工件。您可以轻松地查找这些内核函数的详细信息(我确信维基百科有它们,或任何介绍文本)。图形程序中使用的实现往往是高度优化的,有时有专门的假设,使它们更高效但不太通用。