Кодирование изображений имеет некоторые особые характеристики, с которых вы наблюдаете результаты.Когда вы декодируете изображение из его (файлового) представления, вы генерируете много пикселей.Последующее кодирование видит только пиксели и ничего не знает о размере исходного файла.Поэтому шаг кодирования очень важен для получения правильного результата.
Общий формат JPEG , а также формат PNG имеют разные уровни сжатия, то есть настройку качества.У них может быть это, потому что они делают сжатия с потерями.В общем, изображения с большим количеством деталей (острые края) должны быть сжаты с высоким качеством, а размытые изображения - с низким качеством;как вы, вероятно, видели, маленькие изображения обычно более размытые, а большие - более четкие.
Не вдаваясь в технические подробности, это означает, что вы должны установить уровень качества в соответствии с характером вашего изображения, который также определяется размером входного изображения.Другими словами, если вы кодируете размытое изображение как большой файл, вы теряете пространство, так как вы получите примерно тот же результат, используя меньше байтов. Но кодировщик не имеет этой информации, поэтому вы должны настроить ее, используя правильную настройку качества.
Редактировать: В вашем случае вручную установите низкое качество для кодирования, если вы начали с малогофайл (по сравнению с количеством пикселей), а затем, конечно, высокое качество, если верно обратное.Проведите несколько экспериментов, возможно, будет приемлема единая настройка качества для всех фотографий.