HEIC形式の画像ファイルをJPEG形式に変換する方法

調査
スポンサーリンク

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 オンラインのツールを使用する

HEICファイルが数枚しかない場合はこの方法が一番手っ取り早いですが、画像ファイルの一括変換には向いていないです。
また、サーバ側で大切な写真がどのように扱われているのか分からないので、不安ではあります。

検索上位のオンラインツールは以下がありました。

 

方法2 フリーソフト「ImageMagick」を使用する

サーバに写真をアップロードしたくない場合は、PCにインストールするフリーソフトを利用すると良いでしょう。
HEIC→JPEGに変換できるフリーソフトはいくつかあるようですが、「ImageMagick」が検索すると結構出てきます。

ImageMagick – Mastering Digital Image Alchemy
ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over...

 

ImageMagick」はWindowsのコマンドラインから実行可能なため、プログラムを組めば一括変換できます。

【参考】

 

方法3 (Mac OSのみ) sipsコマンドを使用する

Mac OSではsipsコマンドで画像処理ができます。
コマンドで指定することができるので、プログラムを組めば一括変換することが可能です。

【参考】

 

方法4 (Windowsのみ)PowerShell スクリプト「DavidAnson/ConvertTo-Jpeg」を使用する

WindowsのPowerShellスクリプトでHEIC→JPEGに変換できる「DavidAnson/ConvertTo-Jpeg」というツールがGitHubに公開されていました。

GitHub - DavidAnson/ConvertTo-Jpeg: A PowerShell script that converts RAW (and other) image files to the widely-supported JPEG format
A PowerShell script that converts RAW (and other) image files to the widely-supported JPEG format - DavidAnson/ConvertTo...

 

Windowsのコマンドラインで実行すれば、特定のフォルダ配下のHEICファイルを一括JPEG変換できるようです。
また、このスクリプトをプログラムに組み込めば、任意のHEICファイルに対して一括変換することが可能です。

【参考】

 

追記 「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
Python 3.6+ interface to libheif library

 

補足:
pyheif」はMac OSおよびLinuxのみ対応しています。

pyheif」より引用

 

【参考】

 

 

WindowsでHEIC→JPEGに一括変換するサンプルプログラム

Windows10上でPythonおよびPowerShell スクリプト「DavidAnson/ConvertTo-Jpeg」を使ってHEIC→JPEGに一括変換するプログラムを作りました。
以下の記事でコードを載せているので、よろしければご覧ください。

HEICファイルをJPEGへ変換したい!
HEIC形式の画像ファイルをJPEG形式に変換するプログラムをPythonで作成しました。 サンプルコードを載せておきますので、ご参考にどうぞ。

 

 

以上!

コメント

タイトルとURLをコピーしました