Качество 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.
Вы можете поиграть с разными значениями, чтобы узнать.