Размер изображения сократился из ниоткуда - PullRequest
0 голосов
/ 05 ноября 2018

Я просто скопировал свое изображение и сохранил его в другую временную папку в текущем каталоге, ничего не изменилось, но размер изображения каким-то образом уменьшился ... почему?

from PIL import Image
import os

image_path = "/Users/moomoochen/Desktop/XXXXX.jpg"
img = Image.open(image_path)
pathname, filename = os.path.split(image_path)

new_pathname = (pathname + "/temp")

if not os.path.exists(new_pathname):
  os.makedirs(new_pathname)
  img.save(os.path.join(new_pathname, filename))

Размер изображения немного уменьшен, с 3,2 МБ до 350 КБ, что я пропустил?

1 Ответ

0 голосов
/ 13 ноября 2018

Когда PIL / Pillow сохраняет ваше изображение в формате JPEG, оно использует качество по умолчанию 75, и это, вероятно, ниже, чем качество, при котором было сохранено ваше исходное изображение, следовательно, файл меньше.

Вы можете легко проверить качество ваших входных и выходных файлов с помощью jhead, например:

jhead image.jpg

Пример вывода

File name    : image.jpg
File size    : 199131 bytes
File date    : 2018:11:13 09:42:59
Resolution   : 1374 x 1182
JPEG Quality : 75

Если вы хотите сохранить больше качества, вы можете указать другое значение из 75 при сохранении. Не рекомендуется превышать 95, поскольку это увеличивает размер файла без каких-либо преимуществ:

img.save('result.jpg', quality=90)
...