Как обрезать несколько изображений одинакового размера по определенным координатам?

Как обрезать несколько изображений одинакового размера по определенным координатам?

Есть много изображений одинакового размера. Есть ли способы обрезать их все до одинаковых координат?
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

И один цикл выборки может выполнить это для всех изображений. Что-то вроде:

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

Выше я предполагаю, что файлы in находятся в каталоге in/, а файлы out будут храниться в каталоге out/.

решение2

Поскольку вы используете Windows, загрузитепортативные или инсталляционные двоичные версии ImageMagick для Windows, то в каталоге с изображениями выполните следующую команду (естественно сconvert.exeгде-нибудь в вашем PATH):

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

Вот и все, просто как пирог. Не требуется "UNIX-y shell" или "более сорока строк кода",предложенныйнекоторые.

Связанный контент