При обработке изображений бикубическая интерполяция часто выбирается вместо билинейной интерполяции или интерполяции по ближайшему соседу при повторной выборке изображения , когда скорость не является проблемой. В отличие от билинейной интерполяции, которая учитывает только 4 пикселя (2×2), бикубическая интерполяция учитывает 16 пикселей (4×4). Изображения, подвергнутые повторной выборке с помощью бикубической интерполяции, могут иметь различные артефакты интерполяции в зависимости от выбранных значений b и c.
Предположим, что значения функции и производные , и известны на четырех углах , , , и единицы площади. Тогда интерполированную поверхность можно записать как
Задача интерполяции состоит в определении 16 коэффициентов .
Соответствие со значениями функции дает четыре уравнения:
Аналогично, восемь уравнений для производных в и направления:
В приведенных выше выражениях использовались следующие тождества:
Эта процедура дает поверхность на единичной площади которая непрерывна и имеет непрерывные производные. Затем можно выполнить бикубическую интерполяцию на регулярной сетке произвольного размера путем объединения таких бикубических поверхностей, гарантируя совпадение производных на границах.
Группировка неизвестных параметров в векторе
и позволяя
приведенную выше систему уравнений можно переформулировать в матрицу линейного уравнения .
Обращение матрицы дает более полезное линейное уравнение , где
что позволяет рассчитать быстро и легко.
Возможна и другая краткая матричная форма для 16 коэффициентов:
или
где
Часто приложения требуют бикубической интерполяции с использованием данных в прямолинейной сетке, а не в единичном квадрате. В этом случае тождества для и становиться
где это расстояние между ячейкой, содержащей точку и подобное для .
В этом случае наиболее практичный подход к вычислению коэффициентов это позволить
затем решить с как раньше. Далее нормализованные интерполяционные переменные вычисляются как
где и являются и координаты точек сетки, окружающих точку . Тогда интерполирующая поверхность становится
Если производные неизвестны, они обычно аппроксимируются по значениям функции в точках, соседних с углами единичного квадрата, например, с использованием конечных разностей .
Чтобы найти любую из отдельных производных, или , используя этот метод, найдите наклон между двумя окружающими точками на соответствующей оси. Например, чтобы вычислить для одной из точек найдите для точек слева и справа от целевой точки и вычислите их наклон, и аналогично для .
Чтобы найти перекрестную производную , возьмите производную по обеим осям, по одной. Например, можно сначала использовать процедура поиска производные точек выше и ниже целевой точки, затем используйте процедуру над этими значениями (а не, как обычно, над значениями для этих точек), чтобы получить значение для целевой точки. (Или можно сделать это в обратном направлении, предварительно вычислив а потом из тех. Оба дают эквивалентные результаты.)
На краях набора данных, когда отсутствуют некоторые окружающие точки, недостающие точки можно аппроксимировать несколькими методами. Простой и распространенный метод состоит в том, чтобы предположить, что наклон от существующей точки до целевой точки продолжается без дальнейших изменений, и использовать это для расчета гипотетического значения для недостающей точки.
Интерполяция бикубическим сплайном требует решения описанной выше линейной системы для каждой ячейки сетки. Интерполятор с аналогичными свойствами можно получить, применив свертку со следующим ядром в обоих измерениях:
где обычно устанавливается равным -0,5 или -0,75. Обратите внимание, что и для всех ненулевых целых чисел .
Этот подход был предложен Кизом, который показал, что производит сходимость третьего порядка относительно интервала дискретизации исходной функции. [1]
Если мы воспользуемся матричным обозначением для общего случая , мы можем выразить уравнение более удобным способом:
для от 0 до 1 для одного измерения. Обратите внимание, что для одномерной интерполяции кубической свертки требуются 4 точки выборки. Для каждого запроса слева расположены два образца, а справа — два образца. В этом тексте эти точки пронумерованы от −1 до 2. Расстояние от точки с индексом 0 до точки запроса обозначается здесь.
Для двух измерений, впервые примененных один раз в и снова в :
Однако из-за отрицательных лепестков ядра это вызывает перерегулирование (ореолы). Это может вызвать отсечение и является артефактом (см. также артефакты звона ), но увеличивает остроту (кажущуюся резкость) и может быть желательным.
Arc.Ask3.Ru Номер скриншота №: bde8824a1fa938f2258d42959ec56c25__1701621780 URL1:https://arc.ask3.ru/arc/aa/bd/25/bde8824a1fa938f2258d42959ec56c25.html Заголовок, (Title) документа по адресу, URL1: Bicubic interpolation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)