Сжатие с полиномиальными потерями numpy - файл больше оригинала - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь реализовать сжатие с потерями для серии изображений, используя полиномиальную интерполяцию (np.polyfit). Я представляю изменения в значении данных пикселей на изображениях в качестве коэффициентов рассчитанного полинома. Коэффициенты хранятся в матрице, особенно в заархивированных матрицах: файл .npz с вектором формы исходного изображения.

Поскольку тип данных каждого изображения PNG, обработанного в программе с imageio, - это uint8, я предполагаю, что необходимое преобразование в np.float увеличивает количество байтов для представления пикселя. Однако после некоторых тестов на разных файлах GIF, разном количестве кадров и разной степени полинома для каждого из упомянутых факторов размер матрицы всегда превышает суммарный размер всех изображений .

Могу ли я улучшить этот метод полиномиальной интерполяции или это просто обычный результат числового представления? Не могли бы вы объяснить причины проблемы?

Я также экспериментировал с различными типами данных в сохраненной матрице коэффициентов: np.uint8, np.float16 ... Однако программа декодирования вернула недопустимую реконструкцию исходных файлов.

...