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

618
Ufx

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

0
Вы должны всегда указывать предпочитаемую операционную систему в таких вопросах, чтобы получить наиболее релевантные ответы. Julian Knight 8 лет назад 1

2 ответа на вопрос

0
Romeo Ninov

You can you imagemagick to do this. Here are some examples from product manual:

 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 

And one sample loop can exec it for all the images. Something like:

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

Above i assume in files are in directory in/ and out files will be stored in directory out/

0
Karan

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

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

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