iPhoneで撮影した写真をPythonでpngに変換
iPhoneで撮影した写真をPythonでpngに変換 iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1 […]
Filter by Category
iPhoneで撮影した写真をPythonでpngに変換 iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1 […]
Pythonでjpgやpng画像をwebpに一括変換 ウェブサイトで使用される画像に画質を保ったまま軽量化できるWebサイト向けの次世代画像フォーマットのwebpを利用するケースが増えていますが、サイト内で使われている画 […]
PillowでPNGファイルを変換するときの背景処理 PillowでPNGファイルをJPGに変換するときに、背景が透過のファイルを変換すると透過部分が黒くなったり、不自然な途切れ方をしたりといった時の対処方法です。 開発 […]
複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]
iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1枚変換するのは大変ですが、Pythonを使えば複数画像をまとめてpngに変換できます。
※pyheifはWindowsでは非対応です。
コードはGitHubリポジトリにあげています。
import glob
import pyheif
from PIL import Image
from tqdm import tqdm
ORIG_DIR = "original/"
CONV_DIR = "convert/"
def conv(image_path):
heif_file = pyheif.read(image_path)
data = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
"raw",
heif_file.mode,
heif_file.stride,
)
dir_name = image_path.replace("HEIC", "png").replace(ORIG_DIR, CONV_DIR)
data.save(dir_name, "PNG")
lst = glob.glob(ORIG_DIR + "*.HEIC")
for i, l in enumerate(tqdm(lst)):
conv(l)
import glob
import pyheif
from PIL import Image
from tqdm import tqdm
モジュール、ライブラリのインポート
ORIG_DIR = "original/"
CONV_DIR = "convert/"
元画像のフォルダ、変換後のフォルダを指定
def conv(image_path):
heif_file = pyheif.read(image_path)
data = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
"raw",
heif_file.mode,
heif_file.stride,
)
変換のコード
https://pypi.org/project/pyheif/
dir_name = image_path.replace("HEIC", "png").replace(ORIG_DIR, CONV_DIR)
data.save(dir_name, "PNG")
拡張子をHEICからpngに置換
パスを保存先のディレクトリに置換
画像を保存
lst = glob.glob(ORIG_DIR + "*.HEIC")
元画像フォルダの拡張子がHEICのファイルを全て選択
for i, l in enumerate(tqdm(lst)):
conv(l)
取得した全ファイルを一枚ずつ変換
tqdmで進捗を可視化
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません