Что такое интерполяционное ядро Matlab 'box'

1

Кто-нибудь знает уравнение/алгоритм/теорему, используемое ядром интерполяции MATLAB "box" в функции imresize? Или (еще лучше) знать многозначную эквивалентность?

Теги:
numpy
interpolation
image-resizing

2 ответа

1

box интерполяция - это просто усреднение пикселей в пределах указанного размера окна.

Вы можете проверить функцию matlab smooth3 т.д. Для деталей.

0

Ядро "ящик" представляет собой усредняющее ядро с равномерными весами. Если это ядро интерполяции, то оно соответствует интерполяции ближайшего соседа (она всегда принимает среднее значение для одного входного образца).

Немного теории: интерполяционное ядро - это значение, которое имеет значение 1 в начале координат, и значение 0 на целых расстояниях от начала координат. Между ними можно делать разные вещи. Таким образом, чтобы сделать из "коробки" интерполирующее ядро, мы сделаем его ширину где-то между бесконечно тонкой и чуть менее двух выборок. Это делает его подходящим для определения интерполирующего ядра. Однако, если он тоньше, чем 1 интервал между образцами, он будет генерировать вывод 0 для некоторых перемещений - нежелательно. И если он шире, чем один интервал между образцами, будут смещения, в которых выход представляет собой добавление двух входных выборок, вдвое больших, чем должно быть, - также нежелательно. Таким образом, для этого всего 1 ширина пробела является единственной полезной шириной. При такой ширине при любом смещении он всегда покрывает ровно один входной образец - следовательно, он выполняет линейную интерполяцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню