UbuntuのImageMagick composite入門:画像合成と透かし処理の実践

概要:CUI環境での画像合成と自動化

Linuxサーバーやターミナル作業において、複数画像のレイヤリングや透かし(ウォーターマーク)の付与をスクリプトで一括処理したい場面は少なくありません。本稿では、ImageMagickに含まれる強力なコマンドラインユーティリティ composite に着目し、基本的な配置指定から透明度の制御、さらにブレンドモード(描画モード)の活用に至るまで、実践的な自動化テクニックを詳しく解説します。

実行環境のセットアップと検証用画像の準備

Ubuntuシステム上で composite ツールを利用可能にするため、パッケージインデックスを更新してImageMagickを導入します。端末で apt-get update -qq && apt-get install -y imagemagick を実行してください。

ImageMagickパッケージのインストール

レイヤー合成の土台となる背景キャンバスを作成します。幅600×高さ400ピクセルのスチールブルー色(xc:steelblue)画像を生成するため、convert -size 600x400 xc:steelblue background.png を実行します。

背景用キャンバス画像の生成

次に、背景の上に重ね合わせるバッジ画像を準備します。コーラル色の200x80キャンバス中央に白文字で「WATERMARK」を描画するため、convert -size 200x80 xc:coral -fill white -pointsize 20 -gravity center -annotate +0+0 'WATERMARK' badge.png を実行します。

ウォーターマーク用バッジ画像の生成

生成された background.png と badge.png のファイルフォーマットやプロパティが意図通りに構成されているか、file background.png badge.png を実行して確認します。

生成ファイルの情報確認

位置揃え(Gravity)とオフセット(Geometry)による配置制御

composite では、-gravity center オプションを付与することで、背景画像 background.png の幾何学的中心にバッジ画像 badge.png を直感的にオーバーレイできます。処理結果は output_center.png として書き出されます。

中央配置による画像合成

ベース画像の右下(南東)をアンカーとし、端から縦横それぞれ20ピクセルのマージンを空けて配置したい場合は、-gravity southeast と -geometry +20+20 を組み合わせて指定します。出力ファイル名は output_southeast.png です。

南東アンカーと余白指定による合成

デフォルトの基準点である左上(北西原点)から、X軸・Y軸方向へそれぞれ50ピクセルオフセットした座標へ画像をレイアウトする場合は -geometry +50+50 を指定します。この処理により output_offset.png が生成されます。

絶対座標オフセットによる合成

これら一連の配置コマンドによって生成された出力ファイルのリストおよびサイズ情報を確認するため、ls -lh output_*.png を実行します。

配置別出力画像一覧の確認

透明度制御(Dissolve)による透かし・ウォーターマークの実装

オーバーレイ画像の不透明度をコントロールするには -dissolve オプションを活用します。数値を30に設定した -dissolve 30 と -gravity center を指定することで、バッジが30%の濃度で薄く馴染む控えめなウォーターマークが施された output_watermark_30.png を作成できます。

30%透明度を適用した中央配置ウォーターマーク

刻印をよりはっきりと目立たせたい場合は、-dissolve 60 で不透明度を60%まで引き上げます。これに -gravity southeast および -geometry +15+15 を組み合わせることで、右下余白15ピクセルの位置に鮮明な透かしが入った output_watermark_60.png が生成されます。

60%透明度による右下配置ウォーターマーク

透明度パラメータを変えて出力した2枚の画像について、解像度やメタデータの詳細を確かめるため identify output_watermark_30.png output_watermark_60.png を実行します。

透かし適用画像のメタデータ検証

描画ブレンドモード(Compose)の使い分けと効果比較

単純な重ね合わせだけでなく、画素の色情報を計算して合成するブレンドモードもサポートされています。-compose multiply オプションを指定すると乗算合成が適用され、暗部が自然に溶け込む深みのあるテクスチャ効果を持った output_multiply.png が得られます。

乗算(multiply)ブレンド合成の適用

反対に、重なり合うピクセル同士を明るく際立たせたい場合は -compose screen(スクリーン合成)を選択します。ハイライト成分が柔らかく強調され、明るいトーンへ調和した output_screen.png が生成されます。

スクリーン(screen)ブレンド合成の適用

ブレンドモードを切り替えて作成した2つの成果物について、ls -lh output_multiply.png output_screen.png を実行してファイル容量や生成ステータスを確認します。

ブレンド合成済み出力ファイルの確認

本稿では、Ubuntu環境でImageMagickの composite を駆使し、座標レイアウト・透明度調整・ブレンドモードを組み合わせた多彩な画像合成手順を取り上げました。シェルスクリプトと連携させることで、大量の画像アセットに対する一括ウォーターマーク処理や定型バッチ処理を効率的に自動化できます。