iPhoneをOne DriveでPCと同期したところ、画像ファイルがHEIC形式で保存されていました。
でも、HEIC形式の画像ファイルはWindows PCではうまく開けない等、トラブルが多そう。。。
そんなわけで、HEIC形式の画像ファイルをJPEG形式に変換する方法を調べました。
(なお、HEIC形式の画像ファイルを以下ではHEICファイルと記載します)
目次
HEICファイルとは
HEIC(ヘイク)ファイルとは、JPEGよりも容量が抑えられた高効率な画像ファイル形式「HEIF(ヒーフ; High Efficiency Image File Format)」を用いた画像ファイルのこと。
iPhoneで「高効率」フォーマットで写真を撮ると、HEICファイルとして保存されるとのこと。
HEICファイルをJPEG形式に変換する方法
ググってみると、HEICファイルをJPEG形式に変換する方法は幾つかあるようです。
枚数が少ないのなら方法1で手軽に変換できますが、枚数が多くなってくると方法2~方法5のツールを使うと良さそうです。
方法4であればWindows上かつプログラミング不要で、特定のフォルダ配下のHEICファイルを一括でJPEGに変換できるようです。
- [方法1] オンラインのツールを使用する
- [方法2] フリーソフト「ImageMagick」を使用する
- [方法3] sipsコマンドを使用する(Mac OSのみ対応可)
- [方法4] PowerShell スクリプト「DavidAnson/ConvertTo-Jpeg」を使用する(Windowsのみ対応可)
- [方法5] Pythonのライブラリを使用する
方法1 オンラインのツールを使用する
HEICファイルが数枚しかない場合はこの方法が一番手っ取り早いですが、画像ファイルの一括変換には向いていないです。
また、サーバ側で大切な写真がどのように扱われているのか分からないので、不安ではあります。
検索上位のオンラインツールは以下がありました。
方法2 フリーソフト「ImageMagick」を使用する
サーバに写真をアップロードしたくない場合は、PCにインストールするフリーソフトを利用すると良いでしょう。
HEIC→JPEGに変換できるフリーソフトはいくつかあるようですが、「ImageMagick」が検索すると結構出てきます。
「ImageMagick」はWindowsのコマンドラインから実行可能なため、プログラムを組めば一括変換できます。
【参考】
方法3 (Mac OSのみ) sipsコマンドを使用する
Mac OSではsipsコマンドで画像処理ができます。
コマンドで指定することができるので、プログラムを組めば一括変換することが可能です。
【参考】
- 「sipsを使ってHEICファイルをJPEGファイルに変換する。かつ、EXIF情報も削除する【mac環境のみ・Python使用】 | Qiita」
- 「Macのターミナルで簡単に画像処理できるsipsの使い方 | Qiita」
方法4 (Windowsのみ)PowerShell スクリプト「DavidAnson/ConvertTo-Jpeg」を使用する
WindowsのPowerShellスクリプトでHEIC→JPEGに変換できる「DavidAnson/ConvertTo-Jpeg」というツールがGitHubに公開されていました。
Windowsのコマンドラインで実行すれば、特定のフォルダ配下のHEICファイルを一括JPEG変換できるようです。
また、このスクリプトをプログラムに組み込めば、任意のHEICファイルに対して一括変換することが可能です。
【参考】
- 「DavidAnson/ConvertTo-Jpeg」
- 「How to Convert From HEIC to JPG in Python on WIndows」
- 「HEIC 形式の画像をコマンドラインで JPEG 形式に変換して Photoshop で開けるようにする」
追記 「DavidAnson/ConvertTo-Jpeg」は無料では使えないかもしれません。。。
「DavidAnson/ConvertTo-Jpeg」を私の環境(Windows10 Version 1909)で使ってみましたが、「コンテンツをエンコードまたはデコードするための適切な変換が見つかりませんでした。 (HRESULT からの例外:0xC00D5212)」というエラーがでてしまいうまく動作しませんでした。
「DavidAnson/ConvertTo-Jpeg」のページを見ると、HEIC→JPEGへの変換はWindowsのWindows.Graphics.Imaging APIを利用しているようで、そのAPIを動かすためには「HEIF 画像拡張機能」(無料)と「HEVC ビデオ拡張機能」(有料120円)を購入する必要があるようです。
少なくとも、自分の環境では無料の「HEIF 画像拡張機能」のみインストールしても動作しませんでした。。。有料の「HEVC ビデオ拡張機能」の購入も必要なのかも!?
方法5 Pythonのライブラリを使用する
PythonでHEIC→JPEGに一括変換するツールを作れないかと思い、Pythonライブラリを調べてみました。
HEIC→JPEGに変換するPythonライブラリはあったのですが、Mac OSとLinuxのみ対応しているライブラリしかありませんでした。
補足:
「pyheif」はMac OSおよびLinuxのみ対応しています。
「pyheif」より引用
【参考】
WindowsでHEIC→JPEGに一括変換するサンプルプログラム
Windows10上でPythonおよびPowerShell スクリプト「DavidAnson/ConvertTo-Jpeg」を使ってHEIC→JPEGに一括変換するプログラムを作りました。
以下の記事でコードを載せているので、よろしければご覧ください。
以上!
コメント