web-dev-qa-db-ja.com

Python:PILモジュールを使用して画像のサイズを変更する方法

画像のサイズを500x500pxに変更しようとしていますが、次のエラーが発生しました。

File "C:\Python27\lib\site-packages\PIL\Image.py", line 1681, in save
     save_handler = SAVE[format.upper()] KeyError: 'JPG'

これはコードです:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500))
new_img.save('car_resized','jpg')
8
Doromi

Save関数の呼び出しでformatパラメーターを「JPEG」に設定する必要があります。

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500))
new_img.save("car_resized.jpg", "JPEG", optimize=True)
10
AK47

これが解決策です:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500), Image.ANTIALIAS)
quality_val = 90 ##you can vary it considering the tradeoff for quality vs performance
new_img.save("car_resized.jpg", "JPEG", quality=quality_val)

PILには、ANTIALIASBICUBICBILINEARCUBICなどのリサンプリング手法のリストがあります。 ANTIALIASは、スケールダウンに最適です。

2
Prakash