Ubuntu18.04でHEIC形式の画像ファイルをJPG、PNG形式に変換するための手順
はじめに
iOS 11からHEIF(high efficiency image file format)のフォーマットであるHEIC形式がiPhoneのカメラで撮影した画像の保存形式として採用されました。HEIFは高画質で圧縮率が高いです。しかし、UbuntuではこのHEIC形式の画像ファイルをデフォルトでは扱えないため、編集等をしたい場合はJPG形式やPNG形式に変換したり、もしくはHEIC形式を扱えるソフトウェアをインストールしたりする必要があります。この記事では、HEIC形式をJPG形式およびPNG形式に変換するためのコマンドラインツールをインストールし、実際にそのコマンドを使用して変換するところまでをまとめます。
できるようになること
以下のように、heif-convert
というコマンドを使えるよう必要なパッケージをインストールし、このコマンドを使って指定したHEIC形式の画像ファイルをJPG形式、PNG形式に変換できるようになります。
$ heif-convert test.heic test.jpg
File contains 1 images
Written to test.jpg
## 2019/4/28 追記 以降の手順によってHEIC形式をJPG形式、PNG形式に変換できるようになりますが、複数ファイルを一括して変換等はできません。もし一括処理などより柔軟に処理をしたい場合は、最新版のImageMagickをインストールしてHEIC形式に対応させることをおすすめします。この手順については別途記事にまとめましたので、必要な方は見てみてください。
Ubuntu18.04でHEIC形式の画像を一括して処理したい状況になり、libheifというライブラリを試してみものの、まだ一括処理には対応していませんでした。そこで調べたところ、ImageMagickの最新版ならばlibheifを使ってHEIC形式に対応させることができることがわかりました。この記事では、最新版のImageMagickをUbuntu18.04にインストールし、さらにHEIC形式の変換もできるようにするための手順をまとめます。
前提と環境
以降の手順はUbuntu18.04での手順になります。
HEIC形式を変換できるパッケージをインストールする
2019年4月時点では、Ubuntu18.04はデフォルトの状態ではHEIC形式の画像をJPG、PNG形式に変換できるコマンドは用意されていません。しかし、これらの変換を可能とするコマンドツールを含む以下のlibheif
というライブラリが公開されています。開発者様には感謝です。
libheif is a ISO/IEC 23008-12:2017 HEIF file format decoder and encoder.
今回はこのlibheif
の中に含まれるlibheif-examples
を以下のようにインストールします。
$ sudo apt install libheif-examples
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libheif-examples
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 11 個。
22.4 kB のアーカイブを取得する必要があります。
この操作後に追加で 93.2 kB のディスク容量が消費されます。
取得:1 https://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libheif-examples amd64 1.1.0-2 [22.4 kB]
22.4 kB を 0秒 で取得しました (61.5 kB/s)
以前に未選択のパッケージ libheif-examples を選択しています。
(データベースを読み込んでいます ... 現在 243155 個のファイルとディレクトリがインストールされています。)
.../libheif-examples_1.1.0-2_amd64.deb を展開する準備をしています ...
libheif-examples (1.1.0-2) を展開しています...
libheif-examples (1.1.0-2) を設定しています ...
libheif-examples
をインストールすると、以下の3つのコマンドが使用できるようになります。
コマンド名 | 内容 |
---|---|
heif-convert | HEIC形式をJPEG形式、もしくはPNG形式に変換します。 |
heif-enc | JPEG形式、PNG形式をHEIC形式に変換します。 |
heif-info | HEIC形式ファイルのファイル情報を表示します。 |
以上でインストールは完了です。後は実際にheif-convert
等のコマンドを使って変換してみます。
HEIC形式をJPG形式、PNG形式に変換する
heif-convert
を使用します。以下のように、test.heic
からtest.jpg
を新たに生成します。
$ heif-convert test.heic test.jpg
File contains 1 images
Written to test.jpg
上記を実行するとtest.heic
は残したまま、新しくtest.jpg
を生成します。HEIC形式のほうが圧縮率が高いため、1.2MBのHEIC形式の画像ファイルをJPG形式に変換したところ、1.6MBに増えました。
PNG形式の場合も同様で以下のようになります。
$ heif-convert test.heic test.png
File contains 1 images
Written to test.png
なお、heif-convert
には-q
という画質調整のためのオプションが用意されています。
$ heif-convert
USAGE: heif-convert [-q quality]
例えば、以下の様に画質を50%程度に調整してJPG形式に変換することも可能です。以下を実行すると、解像度は同じままでファイルサイズがは50%程度になりました。
$ heif-convert -q 50 test.heic test.png
File contains 1 images
Written to test.png
JPG形式、PNG形式をHEIC形式に変換する
heif-enc
を使用します。以下のように、変換したいファイル名を与えます。test-heic.jpg
を与えると、同じファイル名のHEIC形式が出力されます。PNG形式の画像ファイルも変換可能です。
$ heif-enc test-heic.jpg
heif-enc
の場合は変換後に何もメッセージは表示されません。
なお、heif-enc
には以下のようなオプションが用意されています。
$ heif-enc
heif-enc libheif version: 1.1.0
------------------------------------
usage: heif-enc [options] image.jpeg
options:
-h, --help show help
-q, --quality set output quality (0-100) for lossy compression
-L, --lossless generate lossless output (-q has no effect)
-o, --output output filename (optional)
-v, --verbose enable logging output (more -v will increase logging level)
-P, --params show all encoder parameters
-p set encoder parameter (NAME=VALUE)
HEIC形式画像の情報を表示する
heif-info
を使うと、以下のように引数として与えたファイルの情報を表示できます。
$ heif-info test.heic
image: 3024x4032 (id=10), primary
thumbnail: 240x320
alpha channel: no
depth channel: no
まとめ
ライブラリを1つ入れるだけで簡単にHEIC形式の画像をJPG形式やPNG形式に変換することができました。まだコマンドツール自体はデモの1つとして用意されている程度のようですが、それでもこのようなコマンドが提供されていると大変助かり感謝です。
関連記事
- 公開日:2020/02/10 更新日:2020/02/10
UbuntuをmacOSのCatalinaっぽい見た目にする
UbuntuのデスクトップをmacOSのCatalinaっぽくするためのカスタマイズ手順をまとめます。
- 公開日:2019/12/31 更新日:2019/12/31
How to update Ubuntu's Kernel only
This article show you how to update Ubuntu's kernel using ukuu(Ubuntu Kernel Update Utility).
- 公開日:2019/09/10 更新日:2019/09/10
Ubuntuで/var/cache/apt/archives/パッケージ名の処理中にエラーが発生した場合の対処法
Ubuntuで「dpkg: アーカイブ /var/cache/apt/archives/パッケージ名.deb の処理中にエラーが発生しました」、「Sub-process /usr/bin/dpkg returned an error code (1)」というエラーが共にでました。ここのエラーの解決策をまとめます。
- 公開日:2019/08/12 更新日:2019/08/12
UbuntuからRaspberry PiにVNC接続する手順
Raspberry PiにHDMIケーブルを使ってモニタに接続して使用していましたが、ケーブルが煩わしくなってきたためリモートデスクトップで他のPCからVNC接続してみました。この記事では、UbuntuからRaspberry PiにVNC接続するまでをまとめます。
- 公開日:2019/08/11 更新日:2019/08/11
Ubuntu18.04にカーネル 5.0 をインストールする手順
2019年3月に「Linux 5.0」が正式にリリースされました。Ubuntuでは、デフォルトではリリース時のカーネルを使い続けるため、もし最新のカーネルを使用したい場合は手動でインストールする必要があります。この記事ではUbuntu18.04にカーネル5.0をインストールする手順をまとめます。