Я реализую свою собственную версию алгоритмов билинейного и бикубического масштабирования, чтобы понять, как ffmpeg выполняет масштабирование. Итак, я сравниваю полученные результаты с результатами ffmpeg. Пару дней назад у меня были проблемы с реализацией билинейной версии, потому что мои билинейные масштабированные изображения отличались от изображений ffmpeg. С помощью людей из чата IRC я понял, что ffmpeg дублирует ближайший исходный пиксель, когда индекс соседних пикселей для интерполяции выходит за пределы исходного изображения.
С той же точки зрения, что делает бикубическая версия в ffmpeg из исходных границ пикселей? Я попытался дублировать ближайший исходный пиксель (как в билинейном), и мое масштабированное изображение не совпадает с ffmpeg.
Должен ли я что-то подобное? Заполните границы матрицы, используя бикубическую интерполяцию
Задача ещё не решена.
Других решений пока нет …