- Бикубическая интерполяция
-
Бикубическая интерполяция — в вычислительной математике расширение кубической интерполяции на случай функции двух переменных, значения которой заданы на двумерной регулярной сетке. Поверхность, полученная в результате бикубической интерполяции является гладкой функцией, в отличие от поверхностей, полученных в результате билинейной интерполяции или интерполяции методом ближайшего соседа. Также бикубическая интерполяция часто используется в обработке изображений, давая более качественное изображение по сравнению с билинейной интерполяцией. В случае бикубической интерполяции значение функции в искомой точке вычисляется через ее значения в 16-ти соседних точках. При использовании приведённых ниже формул для программной реализации бикубической интерполяции следует помнить, что значения
и
являются относительными, а не абсолютными. Например, для пикселя с координатами
. Для получения относительных значений координат необходимо округлить вещественные координаты вниз, и вычесть полученные числа из вещественных координат.
, где
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
Подобным образом можно использовать и другие виды интерполяции, вычисляя значения функции по соседним
точкам, но качество этих формул хуже чем бикубической интерполяции.
Результат билинейной интерполяции на тех же входных данных. Частные производные не являются непрерывными и терпят разрыв на границах квадратов.Результат интерполяции методом ближайшего соседа на тех же входных данных.Бикубическая интерполяция сплайнами
Допустим, что необходимо интерполировать значение функции
в точке
, лежащей внутри квадрата
, и известно значение функции
в шестнадцати соседних точках
. Тогда общий вид функции, задающей интерполированную поверхность, может быть записан следующим образом:
Для нахождения коэффициентов
необходимо подставить в вышеприведенное уравнение значения функции в известных шестнадцати точках. Например:
.
Полностью в матричном виде:
,
где
,
,
.
Решая получившуюся систему линейных алгебраических уравнений, можно найти значения
в явном виде:
.
Единожды найденные коэффициенты
теперь могут быть использованы для многократного вычисления интерполированного значения функции в произвольных точках квадрата
.
Последовательная кубическая интерполяция
Другая интерпретация метода заключается в том, что для нахождения интерполированного значения можно сначала произвести кубическую интерполяцию в одном направлении, а затем в другом.
Для функции
с известными значениями
,
,
,
можно построить кубический сплайн:
, или в матричном виде
,
где
,
.
Таким образом, для нахождения интерполированного значения
в квадрате
можно сначала рассчитать четыре значения
,
,
,
для зафиксированного
, затем через полученные четыре точки построить кубический сплайн, и этим завершить вычисление
:
См. также
Категории:- Интерполяция
- Цифровая обработка изображений
Wikimedia Foundation. 2010.