iPhoneで撮影した写真をPythonでpngに変換
iPhoneで撮影した写真をPythonでpngに変換 iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1 […]
Filter by Category
iPhoneで撮影した写真をPythonでpngに変換 iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1 […]
Appleシリコン搭載MacのDocker環境でTensorflowを使う Intel搭載のMacで作成したTensorflowを使ったプロジェクトを移して、M1やM2などのAppleシリコンを搭載しているMacでTen […]
PythonでYouTubeの動画をダウンロード YouTubeの動画をPythonでダウンロードします。今回使うyt-dlpはyoutube-dlのフォークで、youtube-dlよりもダウンロード速度が高速です。Py […]
Pythonでjpgやpng画像をwebpに一括変換 ウェブサイトで使用される画像に画質を保ったまま軽量化できるWebサイト向けの次世代画像フォーマットのwebpを利用するケースが増えていますが、サイト内で使われている画 […]
Apple silicon Macでmxnetを使えるようになるまで エラーが発生したのでpip install mxnet-mkl/mxnet-cu90mkl --preしたところ以下のエラーが発生 エラーの中に上の内 […]
Gitで別のブランチから特定のファイルorディレクトリをチェックアウト 複数人での開発や細かくブランチを作って開発していると、別ブランチの一部分だけを今のブランチに取り込みたいということがあります。マージだと取り込みたく […]
次のようなサッカーコートの白線の部分を線分としてを抽出したい。 まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすれ […]
pyenvでインストールしたPythonのバージョンを更新する pyenvで最新のPythonをインストールしようとしたところ、pyenvのバージョンが古く最新のバージョンがリストになかったので、pyenvをアップデート […]
DockerとDjangoでマイグレーションコマンドを実行するとエラーになる Docker環境で構築したDjangoプロジェクトでマイグレーションコマンドを実行した際に、docker-compose.ymlとsettin […]
GitHubのイシューとPyCharmのタスクを連携 GitHubのイシューとPyCharmのタスクを連携させて、GitHubのイシューをPyCharmに表示させる設定方法です。画面を切り替えなくても追加されたGitHu […]
https://shuhoyo.hatenablog.com/entry/nogizaka46-lyrics-nlp 上記サイトを参考にBERT+UMAPを実装してみた。 BERTとは BERTとは自然言語処理の1手法の […]
DjangoでPOSTとGETを組み合わせたパラメータでリダイレクト DjangoでPOSTを使ったリダイレクトはよく事例が見つかりますが、POSTとGETを組み合わせたURLにリダイレクトさせる情報があまりなかったので […]
WordCloudとは 文章に頻出する単語を抽出して画像に出力するシステムのこと。 実装について 形態素分析 まず形態素分析する必要がある。最新の形態素分析はJUMAN++なのでそれを導入すべし。 インストールするのは簡 […]
PyCharmでPostgreSQLをGUIから操作する設定 PyCharmでDjangoのPostgreSQLをGUIで操作するための設定方法です。Djangoには管理サイトが用意されていますが、プログラムの実行中にデ […]
下記のdeep fakeを導入しようとしたら仮想環境作成でかなり困ったので記録しておく。 https://knowledge.sakura.ad.jp/26769/ 試したこと Docker まずdockerでpytho […]
リモートのファイルをローカルのデスクトップにコピー リモートサーバーにSSH鍵でログインして、ファイルをローカルのマシンにコピーする方法です。今回はリモートサーバーにダンプしたsqlファイルをデスクトップにコピーします。 […]
Pythonのenumerate関数でfor文のインデックスを取得 enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。 実際 […]
サイトのカラーリングを青と黄色のウクライナカラーにしました ロシアによるウクライナ侵攻の早期停戦を願ってサイトのカラーリングをウクライナ国旗をイメージした青と黄色のウクライナカラーにしました
衣服の図面画像を読み込ませるとその種類を返すシステムを作成した。 学習モデルについて 画像から輪郭だけを抽出した輪郭画像と、オリジナル画像の2つを入力データにすることにした。 例えばTシャツならTの字になっているし、スカ […]
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やソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません