ImageMagickの使い方

目 次

コマンドラインでImageMagickをいじっていると、オプションを忘れてしまいがちです.忘備録として以下にまとめます. オプションの詳細はImageMagickを参考にして下さい.
使用 Version 7.0.8-44
2019.05.11

バージョンの確認

まずはバージョンを確認しましょう.

実行例
Linux
convert --version
Windows
magick --version

コンパイルと実行

画像のあるディレクトリに移動してください.LinuxならGUIで移動して,右クリックで端末を選ぶと早いです.例として,sample.epsという名前のeps画像をpng画像にコンバートします. 画像のプロパティで画像サイズが640×480だったとします.

コンバート実行例
Linux
convert sample.eps sample.png
Windows
magick convert sample.eps sample.png

生成されるpng画像は最低解像度なので、ポスターに貼ると文字などがガタガタになります. そこで,画像サイズを倍にして解像度を上げてコンバートします.

コンバート実行例
Linux
convert sample.eps -resize 1280x96 -density 300 sample.png
Windows
magick convert sample.eps -resize 1280x96 -density 300 sample.png

画像サイズは-resize 200%でも可能です.Linuxでコマンドが通らない場合、"convertでnot authorizedのエラーが出る"を参考にしてください.

ページの先頭へ

gif動画の作成

動画ファイルだと可搬性に欠けるし、大事なタイミングで動かないこともあるので、パワーポイント用に複数枚の連番画像(sample001.png, sample002.png, sample003.png, ........)からgif動画を作ることがあります. -delayでフレーム間隔(数字×1/100 sec)、-loopで繰り返し回数(0で無限、1で1回)で制御できます.sample*.pngは*でワイルドカードになって連番ファイルを表します.gifのサイズが大きく、policy.xmlでメモリ容量増やしても 足りない場合は、ffmpegの使い方を参考にしてください。

実施例
Linux
convert -delay 10 -loop 0 sample*.png sample.gif
Windows
magick convert -delay 10 -loop 0 sample*.png sample.gif

ページの先頭へ

convertでnot authorizedのエラーが出る

セキュリティの関係で、EPSだけでなくPSファイルも変換ができないように設定されるようです.両方修正が必要です.まずは変更するpolicy.xmlのコピーをとってから、修正しましょう.

修正実施例
Linux
cd /etc/ImageMagick-6/
sudo cp -p policy.xml policy.xml.bak
sudo gedit policy.xml
修正前
policy domain="coder" rights="none" pattern="PS" /
policy domain="coder" rights="none" pattern="EPS" /
policy domain="coder" rights="none" pattern="PNG" /
修正後
policy domain="coder" rights="read|write" pattern="PS" /
policy domain="coder" rights="read|write" pattern="EPS" /
policy domain="coder" rights="read|write" pattern="PNG" /

ページの先頭へ

複数枚画像を1枚のtiff画像にまとめる

ImageJで複数枚画像を1枚のTiff画像にまとめてParaviewで読み込む際に、枚数が多いと処理が落ちてしまうことがあります。 以下のコマンドで処理します。

実施例
Linux
convert *.bmp -adjoin stack.tif
Windows
magick convert *.bmp -adjoin stack.tif

svg画像をjpg画像に変換

パワーポイントでグループ化した図を選択し、右クリックで「図として保存」を選びsvg画像で保存します。下記コマンドでjpg画像に変換します。実施例では300 dpiで保存しています。 220 dpi以上の画像をWORDに貼り付ける際は、あらかじめファイル > オプション > 詳細設定 を開き、「イメージのサイズと画質」で、ファイル内のイメージを圧縮しないを選択します。

実施例
Linux
convert -density 300 -units PixelsPerInch sample.svg sample.jpg
Windows
magick -density 300 -units PixelsPerInch sample.svg sample.jpg

emf画像をtiff画像に変換

Enhanced Metafile Format (emf)画像をgnuplot等で出力します。下記コマンドでtiff画像に変換します。実施例では300 dpiで保存しています。 220 dpi以上の画像をWORDに貼り付ける際は、あらかじめファイル > オプション > 詳細設定 を開き、「イメージのサイズと画質」で、ファイル内のイメージを圧縮しないを選択します。

実施例
Linux
convert -density 300 -units PixelsPerInch sample.emf sample.tiff
Windows
magick -density 300 -units PixelsPerInch sample.emf sample.tiff

一括で連番画像の画像フォーマットを変換

下記コマンドで、撮影した連番画像のbmpをgnuplotの背景に用いるためpngに一括変換します。

実施例
Linux
mogrify -format png *.bmp
Windows
magick mogrify -format png *.bmp

一括で連番画像をリサイズ

下記コマンドで、連番画像を一括リサイズします。

実施例
Linux
mogrify -resize 320x320 *.jpeg
Windows
magick mogrify -resize 320x320 *.jpeg

ページの先頭へ



© Measurement System Laboratory, Kyoto Institute of Technology.