
Я пытаюсь уменьшить размер файла для нескольких файлов JPEG, скажем, 1280x720. Какой подход рекомендуется, не меняя сильно разрешение и визуальное качество?
решение1
JPEG основан на DCT и энтропийном кодировании. Если ваше изображение еще не оптимизировано по энтропии, есть шанс уменьшить его размер.
Если у вас Debian или любая другая система Linux, попробуйте использовать jpegoptim
из одноименного пакета или jpegtran
из libjpeg-progs
. На странице руководства jpegtran
указано, что это без потерь:
jpegtran работает, перестраивая сжатые данные (коэффициенты DCT), никогда не декодируя изображение полностью. Поэтому его преобразования не имеют потерь: нет никакого ухудшения изображения вообще, что было бы неверно, если бы вы использовали djpeg, а затем cjpeg для выполнения того же преобразования.
Я также нашел следующие два инструмента, которые я никогда не пробовал:
решение2
Если текущий размер изображения больше 1280 x 720 (что вполне вероятно, если это изображения с камеры), то лучшим способом будет уменьшить количество пикселей до 1280 x 720.
Если они уже 1280 x 720, то самый простой способ — снизить качество JPEG. Большинство программ для обработки изображений имеют способ изменить это, и более низкое качество уменьшит размер файла. Вам нужно будет проверить, все еще ли приемлемо качество.
Другой способ — сохранить файл как GIF или BMP со сжатием. Однако это поможет только с простыми, одноцветными изображениями, но не с фотографиями.
Я не знаю, какое программное обеспечение вы используете, но могу порекомендоватьIrfanview