Как сжать и распаковать изображение в градациях серого с помощью DCT?

Поскольку простая матрица 8X8 может быть зашифрована путем выполнения над ней DCT, а исходная матрица может быть легко расшифрована путем применения IDCT над матрицей DCT; Я пытаюсь применить DCT к каждому блоку изображения с помощью "обработки блоков" (размер блока 8).

После выполнения DCT для каждого блока изображения у меня останется очень большая матрица со значениями DCT. Теперь я хочу написать изображение со значениями DCT (представляющими зашифрованное изображение). Проблема в том, что изображение в градациях серого может хранить только значения от 0 до 255.

Как можно сохранить значения DCT в изображении?

Я не пытаюсь сделать полное сжатие JPEG. Просто DCT и IDCT над изображением в Java.

1 ответ

Я не хочу вас здесь разочаровывать, но использование DCT для данных в градациях серого негативно сжимает. Для представления блока 8x8 после использования DCT требуется примерно вдвое больше данных.

Вы не собираетесь сжимать изображение только с помощью DCT. Это другие процессы JPEG (квантование, кодирование Хаффмана, энтропийное кодирование) с DCT, которые сжимают.

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