UNIX/Linuxの部屋 convertコマンドの使い方


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド convert 画像ファイルを変換する (ImageMagick)

最終更新


convert コマンドは、ImageMagick というパッケージに含まれる画像変換コマンドである。フォーマット変換・リサイズ・切り出し等が行える。FreeBSD・Linux 等、多くの UNIX 系 OS では imagemagick というパッケージをインストールすることで使用することができる。


ImageMagick バージョン7 以降の注意点
ImageMagick バージョン7 より、convert 等のコマンドがなくなり magick コマンドに変更されている。Windows で関係ない convert コマンドが存在し、混乱を招くため。2017年9月現在、FreeBSD では ImageMagick がバージョン6、ImageMagic7 がバージョン7 として ports/packages が用意されている。

フォーマット変換
どのフォーマットに変換するかは、指定した拡張子から自動的に判別してくれる。
% convert sample.gif sample.jpg
⇒ GIF 形式の sample.gif から JPEG 形式の sample.jpg に変換する
一括変換したい場合は mogrify コマンドを使う。
% mogrify -format png *.jpg
⇒ JPEG ファイルを PNG 形式に変換する。拡張子 .png で新しいファイルが生成される。

リサイズ (拡大・縮小)
resize オプションを使うとリサイズができる。標準では元画像の縦横比を「維持する」ことに注意。
また、拡大するか縮小するかは指定するサイズ次第である。
% convert -resize 100x200 from.png to.png
→ 100x200 の箱に収まるよう、縦横比を維持して変換する。元画像が 40x80 であれば拡大するし、200x400 であれば縮小する。
% convert -resize 100x from.png to.png
→ 横が 100ピクセル内に収まるよう、縦横比を維持して変換する。
% convert -resize x200 from.png to.png
→ 縦が 200ピクセル内に収まるよう、縦横比を維持して変換する。
% convert -resize 50% from.png to.png
→ 縦横それぞれが 50% の長さになるよう縮小する。
% convert -resize 150% from.png to.png
→ 縦横それぞれが 150% の長さになるよう縮小する。

縦横比が変わってもよいのでとにかく指定したサイズに変換したい場合は、以下のようにサイズの末尾に "!" を付ける。
% convert -resize 100x200! from.png to.png

サイズが不揃いな画像が複数あり、大きすぎる画像はあるサイズに縮小したいが、そのサイズ未満の場合は拡大はしない、としたい場合は、下記のように末尾に ">" を付ける。
% convert -resize '100x200>' from.png to.png
その逆で、小さすぎる画像は拡大したいが、大きい画像は縮小しないとする場合は、末尾に "<" を付ける。
% convert -resize '100x200<' from.png to.png

上書きで一括変換したい場合、mogrify コマンドを使う (元のファイルは残らない)。
% convert -resize 100x200! from.png to.png

アニメーション GIF 生成・分割
adjoin オプションで、アニメーション GIF を生成することができる。
% convert -adjoin image01.gif image02.gif image03.gif sample.gif
⇒ image01〜03.gif からなる、動画 GIF sample.gif を生成する
その逆はこれ。
% convert +adjoin sample.gif image%02d.gif
⇒ 動画 GIF sample.gif を分割し、image00,01,02...gif という画像ファイルを生成する

EXIF 情報等を削除する
画像ファイルに埋め込まれた EXIF 情報を削除するには strip オプションを使う。
% convert -strip from.jpg to.jpg
一括して上書き保存したい場合は mogrify -strip を使う (元のファイルは残らない)。
% mogrify -strip *.jpg



頑張って書いたおすすめコンテンツ!
クラウドサービス徹底比較・徹底解説