Pythonで写真のExif情報を編集する方法

2023年7月31日月曜日

Python

t f B! P L

Pythonで写真のExif情報を編集するためには、PIL (Pillow) というライブラリを使うことができます。しかし、PILはExif情報の読み取りはできますが、書き込みはサポートしていません。そのため、Exif情報の書き込みにはpiexifというライブラリを使用することが一般的です。

「Pillow」と「piexif」のインストール

Anaconda環境の場合

conda install -c anaconda pillow
conda install -c conda-forge piexif

pipの場合

pip install Pillow
pip install piexif

Exit情報に書き込むサンプルコード

以下は、写真のExif情報の撮影日付を変更するサンプルコードです。この例では、撮影日を2023-07-31に設定します。


import piexif
from PIL import Image

# 画像ファイルの読み込み
img = Image.open("your_image.jpg")

# Exif情報の取得
exif_dict = piexif.load(img.info['exif'])

# 撮影日の変更(フォーマット: "YYYY:MM:DD HH:MM:SS")
exif_dict['Exif'][piexif.ExifIFD.DateTimeOriginal] = "2023:07:31 00:00:00".encode()

# Exif情報の書き込み
exif_bytes = piexif.dump(exif_dict)
img.save("your_image_modified.jpg", exif=exif_bytes)

上のコードの注意点として、piexifライブラリはExif情報の日付をバイト列(byte string)として扱います。そのため、日付を設定する際はencode()メソッドを使用して文字列をバイト列に変換します。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ