Как преобразовать ядро ​​в матричную нотацию?

Я пытаюсь понять алгоритм бикубической свертки и не смог понять, как ядро ​​дано как кусочная функция,

ядро дано как кусочная функция

превращается в эту матрицу:

эта матрица

Я понимаю, что для получения матрицы а было установлено -0,5. Независимо от того, как я на это смотрю, я не могу прийти к показанной несимметричной матрице.

Я просмотрел статью Кейса, но он не расширился до матричной нотации, и я боролся с тем, как туда добраться.

Любое понимание будет высоко ценится.

2 ответа

Решение

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

Все значения в матрице получены из коэффициентов c-членов. Первая строка матрицы соответствует коэффициентам постоянных членов, а первый столбец соответствует элементам c_j-1. Это можно увидеть, сравнив приведенный ниже рисунок с коэффициентами уравнения 7: матричное объяснение

Я смог использовать это понимание для реализации метода кубической свертки для интерполяции поверхности, для которой мне удалось настроить значение a, чтобы увидеть ответ. Я рад помочь вам в этом, если что-то неясно!

Шаг 1, чтобы увидеть соотношение, состоит в умножении функции W(x) на выборочные входные данные f[n] для заданного сдвига t. Это дает 5 весов, умноженных на 5 входных выборок, и складываются вместе для формирования выходной выборки p(t).

Матрица, используемая для вычисления p (t), не является симметричной, поскольку для любого сдвига t, который не равен 0, веса, примененные к выборкам, также не являются симметричными. Вы можете увидеть это, написав W (t + i), которые являются весами, примененными к 5 выборкам вокруг выходной позиции t (i в [-2,2]).

Другие вопросы по тегам