· FabLab Westharima Team · Webサイト · 13 min read
ImageMagick v7 インストール・コマンド・オプション一覧
コマンドラインで画像の変換・圧縮・リサイズ・合成などを一括処理できる強力なツールImageMagickの使い方を解説。初心者向けにインストール方法から実用的なコマンド例まで網羅的にまとめました。
ImageMagickはコマンドラインで画像の変換・圧縮・リサイズ・合成などを一括処理できる強力なツールです。本記事は「初めて使う方向け」に、インストール方法、よく使うコマンドを表で一覧化、用語のやさしい解説、注意点、FAQ、トラブルシューティングまでをひとまとめにしました。
ImageMagick v7 以降では、すべてのコマンド操作の先頭に
magickを付けて実行します(例:magick input.jpg ... output.jpg)。これは「magick」というコマンド(プレフィックス)を使うことで、ImageMagick の各種機能(変換・加工・情報取得など)を一貫して呼び出せる仕組みです。 特に Windows では、従来のconvertコマンドが OS 標準のファイル変換コマンドと名前が重複するため、必ずmagickを使うのが安全です。
ImageMagickとは?
画像の「変換(JPEG→PNG など)」「サイズ変更」「切り抜き」「回転」「合成(透かし・ロゴ)」「最適化(圧縮)」などをコマンドで実行可能。
バッチ処理(大量ファイルの一括処理)に強く、再現性が高い(同じコマンドを流せば同じ結果)。
Mac / Linux / Windows で利用可。
ImageMagickのインストール
macOS (Homebrewを使うのが一般的で簡単)
Homebrewをインストール (※未インストールの人のみ)
Homebrewでimagemagickをインストール(ターミナルを開いて以下コマンドを実行)
zsh
brew install imagemagick3.バージョン確認
zsh
magick -versionすぐ使える「頻出コマンド」一覧
| コマンド | 目的・説明 | よく使うオプション(説明) | 使用例 |
|---|---|---|---|
| magick | 画像変換・加工の基本コマンド(v7) | -resize:画像サイズ変更-quality:圧縮率・画質指定-strip:メタデータ削除-auto-orient:EXIF情報に基づき自動回転-background:背景色指定-gravity:基準位置指定(中央・右下など)-extent:キャンバス拡張・切り抜き | magick in.jpg -auto-orient -resize 1200x -quality 85 -strip out.jpg → 画像を自動回転し、横幅1200pxにリサイズ・圧縮・メタデータ削除して保存 |
| magick identify | 画像情報の表示 | -format:表示フォーマット指定(%m:形式, %w:幅, %h:高さ など) | magick identify -format "%m %wx%h %r\n" in.jpg → 画像形式・サイズ・色深度などを表示 |
| magick mogrify | 破壊的に上書きする一括処理 | -path:出力先ディレクトリ指定-format:出力形式指定-resize:リサイズ-quality:画質指定 | magick mogrify -path dist -format jpg -resize 1200x -quality 85 src/*.png → PNG画像を一括でJPEG変換・リサイズし、distフォルダに保存 |
| magick montage | 画像をタイル状に並べて1枚に | -tile:並べる行列数指定(例: 3x)-geometry:各画像のサイズ・間隔-background:背景色指定 | magick montage a.jpg b.jpg c.jpg -tile 3x -geometry 400x400+10+10 -background white out.jpg → 3枚の画像を横3列で並べて1枚の画像に合成 |
| magick composite | 合成(重ね合わせ、透かし) | -gravity:合成位置指定(例: southeast=右下)-geometry:位置調整(+X+Y)-dissolve:透過率指定 | magick composite -gravity southeast -geometry +20+20 -dissolve 30 wm.png in.jpg out.jpg → in.jpgの右下にwm.pngを30%の透過で重ねる |
| magick compare | 2画像の比較(差分出力/評価) | -metric PSNR/MSE/AE:比較指標(PSNR=画質, MSE=誤差, AE=差分ピクセル数)-fuzz:許容誤差(色の近似判定) | magick compare -metric AE a.jpg b.jpg diff.png → a.jpgとb.jpgの差分をdiff.pngに出力し、差分ピクセル数を表示 |
| magick -crop | 切り抜き | -gravity:切り抜き基準位置+repage:余白情報リセット | magick in.jpg -gravity center -crop 800x800+0+0 +repage out.jpg → 画像の中央を800x800で切り抜く |
| magick -rotate | 回転/自動回転 | -auto-orient:EXIF情報で自動回転-rotate:指定角度で回転 | magick in.jpg -auto-orient -rotate 90 out.jpg → 画像をEXIF情報で自動回転後、さらに90度回転 |
| magick -colorspace | 色変換(例: グレースケール) | -colorspace Gray:グレースケール変換-profile:ICCプロファイル適用・変換 | magick in.jpg -colorspace Gray out.jpg → 画像をグレースケール(白黒)に変換 |
| magick -thumbnail | サムネイル作成(高速) | -thumbnail:高速リサイズ-strip:メタデータ削除-extent:キャンバス拡張・切り抜き | magick in.jpg -thumbnail 400x400^ -gravity center -extent 400x400 -strip thumb.jpg → 400x400の正方形サムネイルを中央トリミングで作成 |
| magick -annotate | テキスト描画 | -font:フォント指定-pointsize:文字サイズ-fill:文字色-annotate:描画位置・内容指定 | magick in.jpg -font Arial -pointsize 48 -fill white -gravity south -annotate +0+30 "Sample" out.jpg → 画像下部に白文字で「Sample」と描画 |
| magick | GIF最適化 アニメGIFの容量削減 | -coalesce:各フレームを完全画像化-fuzz:色の近似合成-layers Optimize:最適化処理 | magick in.gif -coalesce -fuzz 5% -layers Optimize out.gif → アニメGIFを最適化してファイルサイズを削減 |
ヒント: ImageMagick は「引数の順序が結果に影響」します。基本は「入力 → 処理 → 出力」の順で書き、加工オプションは入力の後・出力の前に置きましょう。
代表的なオプション早見表
| 機能 | オプション例・説明 |
|---|---|
| リサイズ | -resize 1600x(長辺を 1600px に) / -resize 800x800^(短辺基準ではみ出しトリミング前提) |
| 切り抜き | -crop 800x800+X+Y / 中央なら -gravity center -crop 800x800+0+0 +repage |
| 画質/圧縮 | -quality 75..85(JPEG)、-quality 75..85 -alpha quality=90(WebP) |
| 色空間 | -colorspace sRGB / グレー化 -colorspace Gray |
| メタデータ削除 | -strip |
| 自動回転 | -auto-orient |
| テキスト | -font -pointsize -fill -annotate +x+y "TEXT" |
| 透過処理 | PNG→JPG で白背景 -background white -alpha remove -alpha off |
よく使う実用レシピ(コピペで使える)
PNGをJPGに変換
magick in.png out.jpgすべてのPNGをJPGに変換
magick mogrify -format jpg *.png画像のリサイズ(縦横比を維持)
magick in.jpg -auto-orient -resize 1600x -quality 85 -strip out.jpg正方形サムネイル(中央トリミング)
magick in.jpg -thumbnail 400x400^ -gravity center -extent 400x400 -strip thumb.jpg透かし(右下にロゴを30%で重ねる)
magick composite -gravity southeast -geometry +20+20 -dissolve 30 logo.png in.jpg out.jpgまとめて WebP に変換(圧縮率高・高画質)
magick mogrify -path webp -format webp -quality 80 -resize 1600x -strip *.jpgPDF の1ページ目だけを画像にする(高解像度)
magick -density 200 input.pdf[0] -quality 90 -strip page1.jpgグレースケール化 + 軽量化
magick in.jpg -colorspace Gray -quality 75 -strip out.jpg初心者向け 用語のやさしい解説
- DPI(解像度): 印刷解像度の指標。Web では主に画素(px)が重要で、DPI は見た目に直接影響しないことが多い。
- 画素数(ピクセル寸法): 画像の横幅×縦幅。ファイルサイズや見た目に直結。
- 色空間(sRGB/AdobeRGB など): 色の表現範囲。Web なら sRGB が無難。異なる色空間は色転びの原因に。
- EXIF/メタデータ: 撮影日時やカメラ情報、位置情報など。
-stripで削除でき、プライバシー対策や軽量化に有効。 - ICC プロファイル: モニタや色空間の特性を記述。
-profileで適用/変換。 - アルファチャンネル: 透明度の情報。PNG などで背景透過に使われる。
- デリゲート(delegate): HEIC/WebP/PDF など特定形式を扱うための外部ライブラリ群。未導入だと読み書きできない場合がある。
使用時の注意事項・ベストプラクティス
破壊的コマンドに注意:
mogrifyは上書きします。元データ保護のため-pathで出力先を分けるか、magick input output形式を推奨。-qualityは「画質%」ではない: 主に JPEG の量子化強度。一般的に 75–85 で十分高画質・小容量のバランス。色が変わる問題: 入出力で色空間が違うと色転びします。Web 目的なら
-colorspace sRGBか、-profile sRGB.iccを明示。HEIC/WebP/PDF の対応: 環境に
libheif,webp,ghostscriptが必要。未導入だと「delegate がない」エラーに。メモリ/ディスク制限: 超高解像度の一括処理では
-limit memory 1GiB -limit map 2GiBなどの制限指定を検討。ファイル名の扱い: 空白や日本語を含む場合は引用符で囲む(例:
"magick \"入力 画像.jpg\" ...")。Windows は
convert禁止: OS のconvertと衝突します。必ずmagickを使用。オプション順序: 入力 → 加工 → 出力の順で。順序を変えると結果が変わるのが ImageMagick の特徴。
メタデータの取扱い: 公開用途は
-stripで EXIF を落としてプライバシー保護・軽量化。
よくある質問(FAQ)
| Q | A |
|---|---|
| v6 と v7 の違いは? どう書けばいい? | v7 では magick プレフィックスが基本。従来の convert は互換として magick convert の形で利用可能。Windows では convert が別用途と衝突するため magick 一択。 |
| 画質を保ったまま容量を減らしたい。 | JPEG は -quality 75..85 -strip -auto-orient が定番。さらに -resize で画素を減らすと効果大。WebP なら -format webp -quality 75..85 が有効。 |
| EXIF を残したい/消したい。 | 残す場合は何もしない。消す場合は -strip を指定。 |
| 画像の色が変わって見える。 | 入力の色空間や ICC プロファイルが原因。-colorspace sRGB で統一、または -profile sRGB.icc を適用。 |
| 透過 PNG を JPEG にすると背景が黒/グレーになる。 | JPEG は透過非対応。白などに敷く: magick in.png -background white -alpha remove -alpha off out.jpg。 |
| バッチでフォルダ内の画像を一括リサイズしたい。 | magick mogrify -path dist -resize 1200x -quality 85 -strip src/*.jpg のように実行。-path で元画像の破壊を回避。 |
トラブルシューティング
| エラー・現象 | 対処 |
|---|---|
| エラー: command not found | インストールや PATH を確認。mac は brew install imagemagick 後に magick -version。 |
| エラー: no decode delegate for this image format | 対応ライブラリ(HEIC→libheif, WebP→webp, PDF→ghostscript)を導入し、再度確認。 |
| エラー: not authorized に関する PDF/PS の読み込み制限 | セキュリティポリシー(policy.xml)や ghostscript の導入を確認。安全に配慮の上、許可設定を調整。 |
| エラー: insufficient memory(メモリ不足) | -limit memory 1GiB -limit map 2GiB 等で制限調整、解像度を下げる、一時ディスクの空き確保。 |
| 出力がおかしい/処理されない | オプション順序を見直す(入力→加工→出力)。magick identify で入力情報を把握してから処理。 |
Windows で convert が別コマンドになる | かならず magick を使う。 |
まとめ
まずは
**magick**を使い、入力→加工→出力の順序を意識。表のコマンドとレシピをそのまま試し、慣れたら
mogrifyで一括化。色空間・メタデータ・
-qualityの意味を押さえると、画質と容量の最適化が一気に進みます。
誤りや不足に気付いたら、必要なライブラリ(
ghostscript,libheif,webpなど)の導入、オプション順序の見直し、色空間の明示を追加すれば精度が上がります。


