Ubuntuに最新版のImageMagickをインストールしてHEIC形式に対応させる手順

はじめに
Ubuntu18.04でHEIC形式の画像を一括して処理したい状況になり、libheifというライブラリを試してみものの、まだ一括処理には対応していませんでした。そこで調べたところ、ImageMagickの最新版ならばlibheifを使ってHEIC形式に対応させることができることがわかりました。この記事では、最新版のImageMagickをUbuntu18.04にインストールし、さらにHEIC形式の変換もできるようにするための手順をまとめます。
できるようになること
最新版のImageMagick(2019年4月28日時点でver 7.0.8-42)をUbuntu18.04にインストールし、さらにHEIC形式の画像ファイルにも対応させます。HEIC形式の画像ファイルに対応できると、例えば以下のようにImageMagickのコマンドであるconvert
を使ってHEIC形式をJPG形式に変換できます。複数ファイルに対する一括処理も可能です。
前提と環境
以降の手順はUbuntu18.04で行ったものなります。なお、Vagrant上のUbuntu18.04でも同様の手順で可能です。 事前準備が重要になります。最新版のImageMagickをソースからインストールします。
事前準備
インストール済のImageMagickを確認する
すでにインストール済のImageMagickがあるかどうかを以下のコマンドで確認します。以下のように6.9.7.4
がインストール済であることを確認できます。Ubuntu18.04では、apt
経由でインストールできるImageMagickのバージョンが6.9.7.4
です。
identify
はImageMagickに含まれるコマンドの1つで画像ファイルの情報を取得、表示するためのコマンドです。ImageMagickに含まれるコマンドであれば、identify
でなくても例えば画像の変換や編集などで使用するconvert
、mogrify
でも全く同じようにバージョンを確認できます。
当然ながら上記と全く同じ結果を返します。
インストール済のImageMagickを削除する
すでにインストール済のImageMagickがあれば、まずはインストール済のImageMagickを削除しておきます。
関連するパッケージをインストールする
以降の作業で必要となるパッケージをいくつか事前にインストールしておきます。
build-essentail
、checkinstall
の両方共にImageMagickを最新版のソースからコンパイルしてインストールするために必要なパッケージです。
続いて最新版のImageMagickをソースからインストールするための準備として、ImageMagickに関連するパッケージをbuild-dep
でインストールしておきます。
build-dep
ではImageMagickそのものがインストールされるのではなく、ImageMagickに依存する関連パッケージをインストールします。
ImageMagick本体はこの後ソースからインストールします。なお、ここでbuild-dep
によって関連するパッケージをインストールしておかなくとも以降の手順で最新のImageMagickをインストールすることは可能ですが、その場合は動作が制限されます。詳しくは後述します。
build-depでエラーが出る場合
build-dep
を実行して以下のようなメッセージが表示される場合があります。
この場合は、/etc/apt/sources.list
の中にあるdev-src
という行がコメントアウトされていることが原因です。したがって、このdeb-src
の行を全てアンコメントすれば解決できます。
例えば、viエディタで修正してもいいですし、その他のエディタで編集しても大丈夫です。
詳しくは以下のサイト様に原因と手順が書かれており大変助かりました。
新しく立てた仮想マシンなどで `apt build-dep` を実行すると以下のようなエラーになることがあります。 ...
/etc/apt/sources.list
の中にあるdev-src
という行を全てコメントから外したら、update
した上で再度buid-dep
を実行します。
HEIC形式に対応するためのパッケージをインストールする
メモ
もしHEIC形式に対応する必要がない場合はこの節は飛ばし、次の「最新版のImageMagickをソースからインストールする」に進んでください。
build-dep
でインストールしたパッケージに追加していくつかのパッケージをインストールしておきます。
上記のパッケージ全てがHEIC形式に対応のためだけのものではなく、他のファイル形式に対応させるためのものも含まれています。さらに、ImageMagickの最新版をHEIC形式に対応させるためには、libheif
をソースからインストールしておく必要があります。
libheifをソースからインストールする
libheifはapt
経由でもインストール可能ですが、apt
経由でインストールしてしまうと、最新版のImageMagickをインストールする際にエラーが出ます。したがって、libheifのソースを公式リポジトリからダウンロードしてインストールしておきます。ソースからインストールすると言ってもいくつかのコマンドを実行すれば完了します。
libheifの公式リポジトリは以下です。
libheif is a ISO/IEC 23008-12:2017 HEIF file format decoder and encoder.
具体的な手順としては、公式リポジトリに記載がある通り以下のコマンドを順番に実行します。 libheifのソースのダウンロード先はどこでも大丈夫ですが、以下ではホームディレクトリとしています。
上記のautogen.sh
はインストールに必要なファイルを作成のために実行します。
これで最新版のImageMagickをインストールするための全ての準備は完了です。
最新版のImageMagickをソースからインストールする
最新版のImageMagickをインストールするには、最新版のソースをダウンロードしてインストールする必要があります。ソースからのインストールとなると少々ハードルが高く感じますが、基本的には公式サイトにある通りのコマンドを実行すれば問題なく可能です。
ここでは、ホームディレクトリにImageMagickのソースをダウンロードしています。
ダウンロードが完了したら、tar
コマンドで解凍し、展開されたディレクトリに移動します。
./configure
を実行します。
./configure
が完了するまでに少々時間がかかりますが、最終的に以下のように表示されます。
上記でDelegate Library Configuration:
という項目があり、その下にImageMagickが対応できるファイル形式等についてリストされています。ここで自身の目的とするファイル形式等がyes
になっていることを確認してください。この段階でno
になっているものについてはこの後の手順を進めても、ImageMagickでは扱えません。
例えば、上記ではHEIC --with-heic=yes yes
という部分がありますが、これはHEIC形式に対応するという意味になります。もしこの部分がno
になっていると、ImageMagickはHEIC形式に対応しません。
ここのyes
、no
を決めるのは、冒頭で説明したbuild-dep
によってImageMagickが使用するパッケージが事前にインストールされているかどうかになります。もしbuild-dep
を実行せずに./configure
を実行すると、その結果はほとんどno
になると思います。
また、libheifを事前にインストールしていなければ、HEIC形式にも対応せずに該当部分はno
になります。
./configure
の結果が問題なければ、続いてmake
します。
上記のように表示されると思います。次に管理者権限でcheckinstall
を実行します。
checkinstall
が成功すると、最終的に以下のようにInstallation successful
もしくは日本語でインストールに成功しました。というメッセージが表示されます。
checkinstall
を使うことで、sudo apt remove imagemagick-7.0.8
でアンインストールが可能です。
checkinstall
については、以下のサイト様が詳しく、大変参考になりました。ありがとうございます。
最後に、管理者権限でリンクを更新します。
上記を実行しても何も表示されませんが、以下のようにconvert
コマンドのバージョンを確認して表示されれば無事に最新版のImageMagickがインストールできています。
以下は使い方も表示するため色々な情報が一気に表示されます。
上記で重要な点は、Delegates (built-in)
の部分です。ここにインストールしたImageMagickが対応できるファイル形式等が記載されています。この部分は./configure
で確認したDelegate Library Configuration:
と同じです。
動作確認としてHEIC形式を変換する
以下のようにImageMagickのconvert
コマンドを使ってHEIC形式のファイルを変換できます。
また、以下のようにmogrify
も使用できるので、複数ファイルに対して一括処理も可能です。
以下ではHEIC形式を一括してJPG形式に変換します。
参考文献
この記事作成にあたって、手順の流れについて以下のサイト様が大変参考になりました。ありがとうございます。
I am trying to install the latest version of ImageMagick. I'm using Ubuntu 14.04. After I apt-get update, the version of ImageMagick it lists is ...
I built Image Magick 7.0.7 from source on my Ubuntu 18.04 system.* Typing magick identify -version into the terminal now returns
Version: ImageMagick 7.0.7-37 Q16 x86_64 2018-05-31 https://www.
まとめ
HEIC形式を使うために最新版のImageMagickをインストールしました。手順自体は少々多くなりますが、順番に実行すれば問題なく進められると思います。
関連記事
- 公開日: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をインストールする手順をまとめます。
開発アプリ
