2011-05-30 18:30:58 +0000 2011-05-30 18:30:58 +0000
172
172

ImageMagickを使用して複数の画像を結合

ImageMagickを使って複数の画像を一つの画像に結合したいと思います。もう少し詳しく説明すると、次のような結果になると思います。

つまり、複数のスクリーンショットがあり、それらを元の画像を重ねて1つの画像にしたいのです。

ググってみると、「コンポジット」コマンドがあることに気がつきましたが、それを使って望みの結果を得ることができるのかどうか、またその場合はどうやって使えばいいのかわかりません。

回答 (1)

266
266
266
2011-05-30 19:37:55 +0000

in-<something>.jpg という名前の入力ファイルが任意の数ある場合。

convert -append in-*.jpg out.jpg

特定のファイルを追加したり、完全な「グロブ」を取得する代わりに番号をスキップしたりするために、入力ファイルを明示的に指定し、

convert in-1.jpg in-5.jpg in-_N_.jpg +append out-in1-plus-in5-and-in_N_.jpg

垂直方向のペーストアップにappendを使用することができます(-appendの代わりに+appendを使用)。

montage -mode concatenate -tile 1x in-*.jpg out.jpg

は、ソース画像を垂直方向に連結したファイルout.jpgも作成します。

convert

1行または1列の単純な連結には、appendツールのconvertオプションで十分です。-append はすべての画像を縦方向に連結して n 行の 1 列を作成し、+append は横方向に連結して n 列の 1 行を作成することに注意してください。

( ImageMagick: コマンドラインオプション を参照)

montage

レイアウトをより細かく制御するには、montage ツールが必要です。montage -mode concatenate は、append オプションのように入力画像を接着し、-tile 1x は適用するレイアウトを制御します。

tilecolumns×rows のフォーマットに従いますが、どちらか一方が欠けている可能性があり、montage は制約を満たす方法を考えます。

ここでは、1x(正確には1列で任意の数の行を持つ)を使用して、-appendと同じ効果を得ています。-tile 1xがなければ、+appendのように画像を結合し、デフォルトでは-tile x1(1行に任意の数の列)になります。

(ImageMagickの例: モンタージュ、画像の配列](http://www.imagemagick.org/Usage/montage/)を参照)