В чем разница между сплайн-фильтрацией и сплайн-интерполяцией? - PullRequest
2 голосов
/ 08 октября 2019

У меня проблемы с подключением математической концепции сплайн-интерполяции с применением сплайн-фильтра в python. Мое базовое понимание сплайн-интерполяции состоит в том, что она подгоняет данные по кусочкам, и подобранные по кусочкам полиномы называются сплайнами. Но его приложения в обработке изображений включают в себя предварительную фильтрацию изображения и затем выполнение интерполяции, что мне трудно понять.

Чтобы привести пример, я хочу интерполировать изображение, используя scipy.ndimage.map_coordinates(input, coordinates, prefilter=True) и ключевое словоprefilter в соответствии с документацией:

Определяет, будет ли входной массив предварительно фильтроваться с spline_filter перед интерполяцией

А в документации для scipy.ndimage.interpolation.spline_filter просто говорится входные данныефильтруется сплайн-фильтром. Так что же такое сплайн-фильтр и как он изменяет входные данные, чтобы разрешить сплайн-интерполяцию?

1 Ответ

1 голос
/ 08 октября 2019

Я думаю, здесь немного. Чтобы рассчитать сплайн 2-го порядка, вам нужна 1-я производная данных. Чтобы вычислить сплайн 3-го порядка, вам нужна вторая производная. Я не реализовал двигатель интерполяции после 3-го порядка, но я предполагаю, что сплайны 4-го и 5-го порядка потребуют как минимум 3-го и 4-го производных.

Вместо того, чтобы пересчитывать эти производные каждый раз, когда вы хотите выполнить интерполяциюЛучше всего рассчитать их только один раз. Я предполагаю, что spline_filter выполняет предварительный расчет производных, которые затем используются для интерполяционных вычислений.

...