PythonでExifを編集
Q&A
解決したいこと
JPEGファイルでプロパティのタイトルのみを変更したいので、
Exifを修正しようと下記のコードを実行したのですが、
エラーが発生してしまいました。
原因わかる方がいらっしゃいましたら、ご教示いただきたいです。
from PIL import Image
import piexif
def encode(s):
b = s.encode('utf-16-le') + b'\x00\x00'
return tuple([int(i) for i in b])
filename = r'C:\test\00\00000008.jpg'
im = Image.open(filename)
exif_dict = piexif.load(im.info["exif"])
keyword = 'sample'
keyword = encode(keyword)
exif_dict["0th"][piexif.ImageIFD.XPTitle]= keyword
exif_bytes = piexif.dump(exif_dict)
im.save(filename, "jpeg", exif = exif_bytes)
発生しているエラー
Traceback (most recent call last):
File "C:\Apps\test\test.py", line 23, in <module>
exif_bytes = piexif.dump(exif_dict)
File "C:\Users\A011\AppData\Local\Programs\Python\Python38\lib\site-packages\piexif\_dump.py", line 91, in dump
thumbnail = _get_thumbnail(exif_dict["thumbnail"])
File "C:\Users\A011\AppData\Local\Programs\Python\Python38\lib\site-packages\piexif\_dump.py", line 154, in _get_thumbnail
segments = split_into_segments(jpeg)
File "C:\Users\A011\AppData\Local\Programs\Python\Python38\lib\site-packages\piexif\_common.py", line 10, in split_into_segments
raise InvalidImageDataError("Given data isn't JPEG.")
piexif._exceptions.InvalidImageDataError: Given data isn't JPEG.
0