同じサイズの多数の画像を特定の座標にトリミングするにはどうすればよいでしょうか?

同じサイズの多数の画像を特定の座標にトリミングするにはどうすればよいでしょうか?

同じサイズの画像がたくさんあります。すべてを同じ座標にトリミングする方法はありますか?
Windows 7。

答え1

ImageMagickを使えばこれが可能です。製品からの例をいくつか紹介します。マニュアル:

  convert rose:                    rose.gif
  convert rose: -crop 40x30+10+10  crop.gif
  convert rose: -crop 40x30+40+30  crop_br.gif
  convert rose: -crop 40x30-10-10  crop_tl.gif
  convert rose: -crop 90x60-10-10  crop_all.gif
  convert rose: -crop 40x30+90+60  crop_miss.gif

そして、1 つのサンプル ループですべてのイメージに対してこれを実行できます。次のようになります。

for i in `ls in\`
do
convert $i -crop 40x30+10+10 out/`basename $i`
done

上記では、in ファイルは in/ ディレクトリにあり、out ファイルは out/ ディレクトリに保存されると想定しています。

答え2

Windowsをお使いの場合は、ImageMagick のポータブルまたはインストーラー Windows バイナリ リリース、画像のあるディレクトリで次のコマンドを実行します(当然変換.exePATH のどこかに置きます):

for %f in (*.jpg) do convert -crop 32x32+16+16 "%~f" "cropped_%~f"

簡単です。UNIX風のシェルや40行以上のコードは必要ありません。提案された一部の人々によって。

関連情報