我正在使用双三次插值算法来放大高度图,并且注意到像素边界周围有一些伪像。
但是,当我使用简单的三次插值(样条)时,这些伪像似乎没有出现。
难道是因为三次三次插值不能保证二阶导数与三次样条不同,所以它是连续的吗?
如果是这样,是否存在已知的具有连续二阶导数的算法?
否则,有没有办法处理这些假象?
线性插值(显示像素边界):
双三次插值(在像素边界处可见伪像):
三次插值(无明显伪像):
我尝试了几个双三次公式,这些公式也得到了相同的结果。这里有些例子:
编辑:
我进行了一些搜索,发现B样条曲线具有连续的C2(也由Bharat建议)。我实现了它,即使它是一个近似值而不是一个插值(它不会遍历样本),它看起来也不错。
B样条(近似值):
最佳答案
三次B样条的二阶导数是连续的,而三次三次插值的二阶导数则不是。
http://en.wikipedia.org/wiki/Spline_interpolation
http://en.wikipedia.org/wiki/Cubic_interpolation
https://math.stackexchange.com/questions/485935/piecewise-interpolation-with-derivatives-that-is-also-twice-differentiable