Как набор инструментов Фила Салли в формате jpeg делит изображения в coef_arrays?

Как набор инструментов делит изображения на блоки в coef_arrays?

У меня есть изображение 225x225. Но coef_arrays дал три 232x232 двойных массива.

С изображением 160x100 я получаю один двойной массив 104x168 и два двойных массива 56x88.

Почему я получаю размеры массива больше размера изображения? Разве я не должен получать массивы 225x225 или 160x100 независимо от того, на сколько блоков разделено изображение?

Скажем, 225x225 на 10 блоков будет 11 массивами 20x20 и массивом 5x5.

1 ответ

Решение

JPEG сжимается в блоки 8х8. Если у вас есть изображение, размер которого не кратен 8, кодировщик должен увеличить изображение до кратного 8.

Таким образом, 225x225 расширяется до 232x232 с одним массивом для каждого компонента цвета.

Для изображения 160x100 вы, очевидно, используете 2:1 компонентов Cb и Cr.

Я не уверен, почему вы получаете размеры, которые вы получаете. 160x100 может перейти к 160x104 (не 168x104), а 80x5o может перейти к 80x56.

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