web-dev-qa-db-ja.com

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

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

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

Googlingによって、私は 'composite'コマンドに出くわしました、しかし私は私が望む結果を得るためにそれをどう使うか、そしてその場合どのように使うべきかわかりません。

158
Petter

in-<something>.jpgという名前の入力ファイルがいくつあっても:

convert -append in-*.jpg out.jpg

特定のファイルを追加したり、完全な "glob"を取得する代わりに数字をスキップしたりするには、入力ファイルを明示的に指定してからappendコマンドを入力します。

in-1.jpg in-5.jpg in-に変換N.jpg + out-in1-plus-in5-and-inを追加N.jpg

垂直方向の貼り付けには(-appendの代わりに)+appendを使用できます。

または

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

ソースイメージの垂直方向の連結を含むファイルout.jpgも作成します。

convert

単一行または単一行に単純に連結するには、appendツールのconvertオプションで十分です。 -appendはすべての画像を垂直方向に連結してn行の列を1つ作成し、+appendは水平方向に連結してn列の行を1つ作成します。 。

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

montage

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

tile×の形式に従いますが、どちらか一方が欠落している可能性があり、montageは制約を満たす方法を判断します。

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

ImageMagickの例を参照:モンタージュ、画像の配列 。)

244
peth