Качество JPEG не может быть изменено при использовании Bigtiff

Я использовал библиотеку bigtiff(пришедшую из libtiff для работы с файлами размером более 4 ГБ) для создания изображения размером 8 ГБ. Он может быть сохранен и успешно отображен, однако, он все еще слишком большой для передачи или совместного использования. Поэтому я пытаюсь сжать его с помощью поддержки jpeg от bigtiff(или libtiff), но мне кажется, что это не работает.

TIFFSetField(out,TIFFTAG_COMPRESSION,COMPRESSION_JPEG);
TIFFSetField(out,TIFFTAG_JPEGQUALITY,30);
TIFFSetField(out,TIFFTAG_JPEGCOLORMODE,JPEGCOLORMODE_RGB);

Как и выше, я установил для тега качества Jpeg значение 30, и программа может быть правильно скомпилирована. Однако в результате получилось изображение с качеством JPEG, равным 75, с коэффициентом сжатия 0,99.

Кто-нибудь имеет представление о том, что здесь происходит или какие-либо предложения?

Спасибо солнышко

1 ответ

Не существует такого понятия, как качество JPEG. Настройки качества - это упрощение использования кодеров JPEG для выбора таблиц квантования.

Один кодировщик может использовать диапазон 0-100. Другой может использовать 1-8.

Вам необходимо выяснить, что BigTif использует в качестве диапазона значений "Качество". Это 30 вполне может соответствовать вашим 75.

Вы можете поиграть с разными значениями, чтобы узнать.

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