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
も作成します。
convert
1行または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/)を参照)