双立方插值伪影(图像高级)

时间:2014-02-12 14:53:35

标签: c++ image-processing interpolation image-resizing bicubic

我使用双三次插值算法来升高高度贴图,我注意到像素边界周围的一些伪像。 但是,当我使用简单的三次插值(样条曲线)时,这些伪像似乎不会出现。

可能是因为双三次插值不能保证二阶导数是连续的,不像三次样条? 如果是这样,是否有已知的算法具有连续的二阶导数? 否则,有没有办法处理这些工件?

线性插值(显示像素边界): Linear interpolation

双立方插值(在像素边界处可见的伪像): Bicubic interpolation

立方插值(没有明显的伪影): enter image description here

我尝试了几个双三元公式,这给了我相同的结果。以下是一些例子:


编辑: 我进行了一些搜索,发现B-Spline有一个连续的C2(也是Bharat建议的)。我实现了它,它看起来很好,即使它是一个近似而不是插值(它没有通过样本)。

B样条(近似值): b-spline