2018/04/27

heic ファイルを扱える Imagemgick をインストールする

@Ubuntu 16.04 LTS1

ImageMagick が heic フォーマット2に対応したようなので、ソースコードからコンパイルしてインストールしてみました。

以下によると、6.9.9 もしくは 7.0.7 以降が対象とのこと。

参考

ImageMagick-6.9.9-34差分 - yoyaのメモ

すでに ImageMagick をパッケージインストールしている場合は削除

古いバージョンと共存させたい場合を除き、削除しておいたほうが良いでしょう。

$ sudo apt remove imagemagick

libde265 のインストール

これは apt を使って入れました。

$ sudo apt install libde265-dev
$ apt-cache policy libde265-dev               [~/Downloads/tmp]
libde265-dev:
  Installed: 1.0.2-2
  Candidate: 1.0.2-2
  Version table:
 *** 1.0.2-2 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status

ビルド

以下よりソースコードを取得して、

Install from Source @ ImageMagick

install-unix.txt に書いてある通りに実行。

$ tar xvzf ImageMagick.tar.gz
$ cd ImageMagick-7.0.7-28
$ ./configure
...略
                 Option                        Value
  ------------------------------------------------------------------------------
  Shared libraries  --enable-shared=yes  yes
  Static libraries  --enable-static=yes  yes
  Module support    --with-modules=no  no
  GNU ld            --with-gnu-ld=yes  yes
  Quantum depth     --with-quantum-depth=16 16
  High Dynamic Range Imagery
                    --enable-hdri=yes  yes
 
  Install documentation:   yes
 
  Delegate Library Configuration:
  BZLIB             --with-bzlib=yes  no
  Autotrace         --with-autotrace=no  no
  DJVU              --with-djvu=yes  no
  DPS               --with-dps=yes  no
  FFTW              --with-fftw=yes  no
  FLIF              --with-flif=yes  no
  FlashPIX          --with-fpx=yes  no
  FontConfig        --with-fontconfig=yes yes
  FreeType          --with-freetype=yes  yes
  Ghostscript lib   --with-gslib=no  no
  Graphviz          --with-gvc=yes  no
  HEIC              --with-heic=yes     yes
...略

libde265 をインストールしてあると、HEIC --with-heic=yes yes となっているはずなので確認しましょう。

大丈夫そうならコンパイル。

$ make

インストール

これも install-unix.txt に書いてある通り。

$ sudo make install
$ sudo ldconfig /usr/local/lib

ちゃんとインストールできたか、バージョンを確認。

$ mogrify -version
Version: ImageMagick 7.0.7-28 Q16 x86_64 2018-04-26 http://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
Features: Cipher DPC HDRI OpenMP
Delegates (built-in): fontconfig freetype heic jng jpeg pangocairo png x xml zlib

JPEG に変換してみる

$ mogrify -format jpg *.heic
mogrify: improper image header `item id is incorrect' @ error/heic.c/ParseInfeAtom/492.

item id というヘッダ項目に対応していない旨の警告3が出ましたが、画像はきちんと変換されました。

  1. 18.04 LTS がまさに出ようというその時に… 
  2. HEIF フォーマットと言った方が良いのか?しかし、HEIF はコンテナフォーマットのことなので適切とは言えないか… 
  3. 多分、libde265 のバージョンが上がれば直るのではないかと思います 
?

0 件のコメント: