ImageMagickで特定の高さの値に画像のサイズを変更しますか?


27

私はこれを探しましたが、簡単に実装できるソリューションが見つかりません。

現在、私はパノラマを扱うアプリケーションに取り組んでいます。バッチステッチプロセスから出ると、寸法は平均18000x4000です。ImageMagickを使用して、アスペクト比を維持しながら特定の高さ値にそれらの画像をダウンスケールするにはどうすればよいですか?

マニュアルによると、convert操作は同じ縦横比を維持しながらサイズ変更する高さと幅の両方を取ります。私が望むのは、既存のサイズ変更スクリプト関数に600と1000を入れて、通常の表示可能な画像と縮小サイズの両方を持たせることです。


IIRCは、サイズ変更操作のベースとして小さい方の寸法を使用します。つまり、20000x600などを指定すると、600の高さがベースとして使用され、変換された幅が計算され、アスペクト比が維持されます。私は自分自身を明確にしましたか?
デビウス

ImageMagickである必要がありますか?パッチコマンドはスクリプト化できます。「fit」コマンドは、まさにあなたが探しているものを実行します。 photobatch.wikidot.com/action-fit
Veazer

回答:


37

ImageMagickのドキュメントによるとを使用することをお勧めしますが、新しい画像の縦横比は古い画像と同じ600ピクセルで-geometry x600あるx600ことを意味します。


以下のために単一の画像ファイル名を指定して実行できます。

convert input.png -geometry x600 output.png

1回の実行でフォルダーのすべての画像を変換する場合は、そのフォルダーに切り替えて(つまりcd ~/Pictures/panoramas/)、使用します

mogrify -geometry x600 *.png

ただし、元の画像ファイルが上書きされるため、注意が必要です。それを避けるために

  1. 新しいフォルダーを作成(mkdir ~/Pictures/panoramas/small
  2. このフォルダーに画像をコピー(cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small)および
  3. この新しいフォルダ内の画像を編集します(cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png)。

1

フォルダ内のすべてのファイルのサイズを変更するには、次のようなものを使用できます

mogrify -800x1094のサイズ変更!* jpg#画像のアスペクト比を保持

---必要に応じてサイズと拡張子を変更します


1
これは、ソース画像のアスペクト比を維持しません
ロブ

1
@Robは、アスペクト比を維持したい場合は「!」のままにします。でる。
エリック

@Erickに感謝しますが、かなり古いですが、OPがアスペクト比を維持したかったため、この答えが正しく答えられないことを指摘していました。:D
ロブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.