ImageMagickを使用して複数の画像を結合
ImageMagickを使って複数の画像を一つの画像に結合したいと思います。もう少し詳しく説明すると、次のような結果になると思います。
つまり、複数のスクリーンショットがあり、それらを元の画像を重ねて1つの画像にしたいのです。
ググってみると、「コンポジット」コマンドがあることに気がつきましたが、それを使って望みの結果を得ることができるのかどうか、またその場合はどうやって使えばいいのかわかりません。
ImageMagickを使って複数の画像を一つの画像に結合したいと思います。もう少し詳しく説明すると、次のような結果になると思います。
つまり、複数のスクリーンショットがあり、それらを元の画像を重ねて1つの画像にしたいのです。
ググってみると、「コンポジット」コマンドがあることに気がつきましたが、それを使って望みの結果を得ることができるのかどうか、またその場合はどうやって使えばいいのかわかりません。
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も作成します。
convert1行または1列の単純な連結には、appendツールのconvertオプションで十分です。-append はすべての画像を縦方向に連結して n 行の 1 列を作成し、+append は横方向に連結して n 列の 1 行を作成することに注意してください。
( ImageMagick: コマンドラインオプション を参照)
montageレイアウトをより細かく制御するには、montage ツールが必要です。montage -mode concatenate は、append オプションのように入力画像を接着し、-tile 1x は適用するレイアウトを制御します。
tile は columns×rows のフォーマットに従いますが、どちらか一方が欠けている可能性があり、montage は制約を満たす方法を考えます。
ここでは、1x(正確には1列で任意の数の行を持つ)を使用して、-appendと同じ効果を得ています。-tile 1xがなければ、+appendのように画像を結合し、デフォルトでは-tile x1(1行に任意の数の列)になります。
(ImageMagickの例: モンタージュ、画像の配列](http://www.imagemagick.org/Usage/montage/)を参照)