概要
iPhoneで撮影したHEIC形式のファイルをjpegに変換する際、webサービスにアップするのはセキュリティ上不安だし、このためだけにフリーソフトを入れるのもなんだか・・・ということで、pythonで変換できるようにしてみた。
よく紹介されているpyheifだと、windowsは非対応だけれど、pillow_heifであればwindowsにも対応しているので便利。
(追記)
以下にGUIをつけて、windiwsで動作するようにしたものをフリーソフトとして公開
www.robotech-note.com
必要パッケージ
python3.10で動作確認
Pillowとpillow_heifをpipでインストール
pip install image pillow_heif pillow
ソースコード
ディレクトリを指定すると、HEIFファイルと同じ場所にjpegファイルが格納される
from PIL import Image import pillow_heif import glob import pathlib dir = r"ファイルのあるディレクトリを指定" def heic_jpg(image_path, save_path): heif_file = pillow_heif.read_heif(image_path) for img in heif_file: image = Image.frombytes( img.mode, img.size, img.data, 'raw', img.mode, img.stride, ) image.save(save_path, "JPEG") image_dir = pathlib.Path(dir) heic_path = list(image_dir.glob('**/*.HEIC')) for i in heic_path: image_path = str(i) save_path = str(image_dir / i.stem) + '.jpg' print(save_path) heic_jpg(image_path, save_path)