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