Pythonで小さなスクリプトを作成しました。これは、自分のファイル名に基づいて古いWhatsapp写真のexifデータを設定できます。exifデータを変更した後にPython PIL(Pillow)で写真のサイズを変更します
私はpiexifとPIL(Pillow)パッケージを使用します。
import piexif
from PIL import Image
from collections import defaultdict
img = Image.open(fname)
try:
exif_dict = piexif.load(img.info["exif"])
except KeyError:
exif_dict = defaultdict(dict)
exif_dict['Exif'][piexif.ExifIFD.DateTimeOriginal] = exiftime(date)
exif_dict['Exif'][piexif.ExifIFD.DateTimeDigitized] = exiftime(date)
exif_bytes = piexif.dump(exif_dict)
img.save('%s' % fname, "jpeg", exif=exif_bytes)
exiftime()関数は、日付を書式設定するためのものです。
しかし、スクリプトはいくつかのexifフィールドを設定しています。私はそのような圧縮やsometingを変更しません。
私の問題は、そのスクリプトを実行した後、画像がはるかに小さくなることです。 私はいくつかのサンプル画像でこのスクリプトをテストしました。解像度6000x4000のNikon D5300で撮影した画像。元のファイルは約12Mbで、スクリプトの後には4Mbしかありません。
スクリプトが画像の画質を落としますか、それとも単なる圧縮ではありますか?