2013-03-22 5 views
0

Я пытаюсь понять процесс сжатия JPEG и выполнил следующие шаги, чтобы проверить несколько вещей.JPEG-сжатие

Я принимаю входное изображение img1.jpg и сжимаю его, используя IrfanView, скажем quality = 50 (img1_compress.jpg).

Затем я обрезаю небольшой блок с входного изображения img1.jpg (block.jpg размером 8x8 на X, Y = 16,16) и сжимаю его, используя то же значение параметра качества (50). Назовем его block_compress.jpg.

Теперь, когда я сравниваю значения пикселя этого блока с одним в полностью сжатом изображении, они не совпадают.

Чтобы уточнить, значение пикселя в позиции 0,0 в файле block_compress.jpg должно соответствовать значению пикселя в позиции 16,16 в img1_compress.jpg.

Я смущен, почему значения пикселей не совпадают? Есть идеи?

ответ

2

Я только что сделал этот эксперимент с моим JPEG кодеком и значения совпадают пиксельные Irfanview может быть. применяя какой-то фильтр шума или другие модификации, когда он сжимает изображения в формате JPEG. Не видя исходный код кодека, вы не можете знать, что он делает. Ваш эксперимент действительно, но, используя код других людей для проверки вашей теории, t знать, что действительно происходит внутри их кода.

+0

Знаете ли вы какой-либо инструмент, который я могу использовать для своего эксперимента? – pree

+0

Поскольку я использую свой собственный JPEG-кодек, у меня нет информации о других. Возможно, вы захотите использовать LIBJPEG, так как вы можете видеть, что он делает в исходном коде. – BitBank

+0

Я вижу. Я буду использовать это для запуска своего эксперимента. Спасибо за информацию :) – pree

1

JPEG - алгоритм сжатия с потерями. Сжатие одного изображения с одинаковыми настройками сжатия в разных инструментах может привести к другому результату. Вам нужно использовать один из алгоритмов без потерь, если вы хотите получить результат от пикселя к пикселю. То есть Вы можете использовать PNG

+0

OP спрашивает ** почему ** это может привести к другому результату ... –

+0

Даже в этом случае я использую один инструмент и одно оригинальное изображение как мое вход. – pree

-3

«компонент постоянного тока для каждого блока 8x8 предсказывается из предыдущего блока.»: от Оли Charlesworth

+0

Почему вы отправили неверный ответ? – BitBank

+0

О, я вижу. Затем мне нужно повторить этот эксперимент, используя другой инструмент. – pree

+0

Поскольку результаты mu были разными, и приведенный выше результат оправдывал результаты. Так что подумал, что это правильно. – pree

 Смежные вопросы

  • Нет связанных вопросов^_^