Как скорректировать качество измененного изображения в Библиотеке Обработки изображений Python?

На самом деле следующее хорошо работает для меня и создает новые окна:

test.cmd:

@echo off
call "cmd /c start test2.cmd"
call "cmd /c start test3.cmd"
echo Foo
pause

Объединение test2.cmd

@echo off
echo Test 2
pause
exit

test3.cmd

@echo off
echo Test 3
pause
exit

, что с параметрами к start, такой как /min, как Moshe указал, не хотите ли Вы, чтобы новые окна метали икру перед Вами.

53
задан Jason Sundram 14 November 2017 в 06:06
поделиться

2 ответа

Используйте метод PIL resize вручную:

image = image.resize((x, y), Image.ANTIALIAS)  # LANCZOS as of Pillow 2.7

Затем следует метод сохранения

quality_val = 90
image.save(filename, 'JPEG', quality=quality_val)

Взгляните на исходный код models.py из Фотолог, чтобы увидеть, как они это делают.

83
ответ дан 7 November 2019 в 08:24
поделиться

АНТИАЛИЯ никоим образом не сравнимо с уровнем качества "85". Параметр ANTIALIAS сообщает методу эскизов, какой алгоритм использовать для повторной выборки пикселей с одного размера на другой. Например, если у меня есть изображение 3x3, которое выглядит следующим образом:

2 2 2
2 0 2
2 2 2

, и я изменяю его размер до 2x2, один алгоритм может дать мне:

2 2
2 2

, потому что большинство ближайших пикселей имеют размер 2, а другой может дать мне:

1 1
1 1

, чтобы учесть 0 в середине. Но вы еще не начали заниматься сжатием и не начнете, пока не сохраните изображение. То есть при создании миниатюр вы имеете дело не с градациями качества, а с дискретными алгоритмами передискретизации. Так что нет, здесь вы не можете получить более точный контроль.

46
ответ дан 7 November 2019 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: