Билинейная интерполяция — Обработка изображений

#image #bilinear-interpolation

Вопрос:

Я пытаюсь написать функцию Python, которая принимает изображение в качестве входных данных и выполняет билинейную интерполяцию для изменения размера изображения. Функция также получает 2 координаты — y, x -, которые представляют пиксель, как они «попадают» в исходное изображение (y — строки, x — столбцы). Функция должна вернуть значение этого пикселя. Я работаю с одноканального изображения (2Д список), и формулу, чтобы получить значение пикселя является: (1-х)(1-г) Бг(1-х) цх(1-Г) ДхГ (Х, Y в Формуле не совпадают координаты X, Y в функцию параметров), как A,B,С,D являются значения 4 соседей, например:

учитывая изображение:

 [[0, 64],  [128, 255]]  input - y=0, x=0 -gt; 0 input - y=1, x=1 -gt; 255 input - y=1/2, x=1/2 -gt; 112 input - y=1/2, x=1 -gt; 160  

Я сижу над этой проблемой 2 дня и не вижу, как я могу это сделать, поэтому любая помощь будет принята 🙂 чрезвычайно важно — я не могу использовать какой — либо модуль — ни PIL, ни numpy, только основы плюс — нет необходимости проверять пиксели, которые выходят за пределы изображения-только внутри изображения и на границах