Есть много изображений одного размера. Есть ли способы обрезать их все до одинаковых координат?
Windows 7.

2 ответа2

0

Вы можете сделать это с помощью 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

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

0

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

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

Вот и все, просто как пирог. Никакая «оболочка UNIX-y» или "более сорока строк кода" не требуется, как предлагают некоторые.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .