Бикубические артефакты интерполяции (масштабирование изображения)

Я использую алгоритм бикубической интерполяции для масштабирования карты высот, и я замечаю некоторые артефакты вокруг границ пикселей.
Однако эти артефакты не появляются, когда я использую простую кубическую интерполяцию (сплайн).

Может быть потому, что бикубическая интерполяция не гарантирует непрерывность второй производной, в отличие от кубического сплайна?
Если да, то есть ли известные алгоритмы, которые имеют непрерывную вторую производную?
Иначе есть ли способ справиться с этими артефактами?

Линейная интерполяция (показывает границы пикселей):
Линейная интерполяция

Бикубическая интерполяция (артефакты, видимые на границах пикселей):
Бикубическая интерполяция

Кубическая интерполяция (без заметных артефактов):
введите описание изображения здесь

Я попробовал несколько бикубических формул, которые дали мне те же результаты. Вот некоторые примеры:


Редактировать:
Я сделал несколько поисков и обнаружил, что B-Spline имеет непрерывный C2 (также предложенный Бхаратом). Я реализовал это, и это выглядит хорошо, даже если это приближение, а не интерполяция (это не проходит через образцы).

B-сплайн (приближение):
б-сплайн

8

Решение

вторая производная кубического 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

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]