Я использовал cwebp для преобразования моего изображения jpg в сеть. Теперь я использую dwebp, чтобы преобразовать его обратно, но он увеличивается в размере по сравнению с исходным. Есть ли способ контролировать размер файла в dwebp.
dwebp увеличивает размер исходного файла jpeg в формате jpeg
Ответы (1)
Транскодирование между форматами с потерями имеет тенденцию к увеличению размера, если только представление данных не является чрезвычайно совместимым между форматами, будь то аудио, изображения, видео или другие данные с потерями. WebP использует преобразование Адамара 4x4, тогда как JPEG использует дискретное косинусное преобразование 8x8 (DCT). Квантование, которое является основной формой потери данных в этих форматах, создает различного рода артефакты в этих преобразованиях, и транскодирование не может быть оптимальным. В частности, если WebP или JPEG были сохранены с очень низким качеством, другой формат будет с трудом конкурировать с ним после перекодирования — более позднему формату придется кодировать не только сигнал изображения, но и полученные артефакты из другого формата. .
Таким образом, несмотря на то, что при таком прямом преобразовании существует естественная тенденция к увеличению размера файла, можно контролировать точную величину потерь, происходящих на каждом этапе. Какие именно флаги и инструменты (включая версии) вы используете?