LoginSignup
5
3

More than 3 years have passed since last update.

HEICとか何なのかは知りません。でも、とりあえずはPNGにしよう!

Last updated at Posted at 2020-11-21

前置き

たまに「このファイル形式は対応していません」と言われることがありません?
僕はありました。
なので、pythonで変換プログラムを作成しました。
誰かの助けになれば幸いでーす。

環境

  • Mac
  • python 3.7.1
  • jupyter lab

使用するライブラリ

  • pyheif
  • pillow

コード

from PIL import Image
import pyheif

heif_file = pyheif.read(image_path) # 1
data = Image.frombytes(             # 2
    heif_file.mode, 
    heif_file.size, 
    heif_file.data,
    "raw",
    heif_file.mode,
    heif_file.stride,
    )
image = data.resize(size)           # 3
image.save(save_path, "PNG")        # 4

何をやっているか

  1. HEIC画像を読みます。この時に「HeifFile object」ができます。
  2. それらをImage.frombytesモジュールに必要な物を打ち込みます。この時に「Image object」ができます。
  3. あとはresizeして
  4. saveで完了

最後に

  • 簡単なので、大量のHEICデータがある場合は、上記のコードを関数化して、globなどで一括で読み込むと良いです!

参考

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3