Результат бикубической интерполяции функции заданной в ячейке 4х4 . Данную ячейку можно рассматривать как квадрат, состоящий из 9 единичных квадратов. Черными точками обозначены известные значения функции до интерполяции. Условным цветом обозначены интерполированные значения в каждой точке полученной функции.Сравнение разных методов одномерной и двумерной интерполяций
Бикубическая интерполяция часто используется в обработке изображений, давая более качественное изображение по сравнению с билинейной интерполяцией. Также бикубическая интерполяция применяется в алгоритмах управления станков с ЧПУ для учета неровностей плоскостей, например, при фрезеровке печатных плат.
Принцип метода
В случае бикубической интерполяции значение функции в искомой точке вычисляется через её значения в 16 соседних точках, расположенных в вершинах квадратов плоскости .
При использовании приведённых ниже формул для программной реализации бикубической интерполяции следует помнить, что значения и являются относительными, а не абсолютными. Например, для точки с координатами . Для получения относительных значений координат необходимо округлить вещественные координаты вниз, и вычесть полученные числа из вещественных координат.
,
где
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
Подобным образом можно использовать и интерполяции более высокого порядка, вычисляя значения функции по соседним точкам.
Допустим, что необходимо интерполировать значение функции в точке , лежащей внутри квадрата , и известно значение функции в шестнадцати соседних точках .
Тогда общий вид функции, задающей интерполированную поверхность, может быть записан следующим образом:
Для нахождения коэффициентов необходимо подставить в выше приведённое уравнение значения функции в известных шестнадцати точках.
Например:
Единожды найденные коэффициенты теперь могут быть использованы для многократного вычисления интерполированного значения функции в произвольных точках квадрата .
Следует отметить, что такой способ обеспечивает непрерывность самой функции и её второй производной на границах смежных квадратов, но приводит к разрыву первых производных на границах ячеек 4х4. Для обеспечения непрерывности самой функции и её первой производной необходимо подставлять в исходное выражение значения функции и значения первых производных по направлениям x и y в вершинах центральной ячейки, производные рассчитываются через центральные разности. Для подстановки производных выражение должно быть продифферинцировано соответствующим образом.
Последовательная кубическая интерполяция
Другая интерпретация метода заключается в том, что для нахождения интерполированного значения можно сначала произвести кубическую интерполяцию в одном направлении, а затем в другом.
Для функции с известными значениями , , , можно построить кубический сплайн:
, или в матричном виде:
,
где
,
.
Таким образом, для нахождения интерполированного значения в квадрате можно сначала рассчитать четыре значения , , , для зафиксированного , затем через полученные четыре точки построить кубический сплайн, и этим завершить вычисление :
Следует отметить, что такой подход обеспечивает непрерывность самой функции и её вторых производных на границе ячеек, но не обеспечивает непрерывности первой производной. Для обеспечения непрерывности первой производной необходимо подставлять значения функции и её первых производных на границе центральной ячейки. Тогда коэффициенты сплайна будут иметь вид:
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 30 ноября 2013 года.
Литература
R. Keys (1981). “Cubic convolution interpolation for digital image processing”. IEEE Transactions on Acoustics, Speech, and Signal Processing. 29 (6): 1153—1160. DOI:10.1109/TASSP.1981.1163711.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.
2019-2025 WikiSort.ru - проект по пересортировке и дополнению контента Википедии