Инструмент для обрезки изображений из командной строки

Есть ли какой-нибудь легкий инструмент для обрезки изображений в командной строке (Linux или Windows), который может обрабатывать различные форматы?

8 ответов

Решение

Imagemagick - это то, что вы хотите - испытано и верно.

В Linux вы можете использовать

mogrify -crop {Width}x{Height}+{X}+{Y} +repage image.png

для работы с изображениями CLI

Преобразование Imagemagick помогает мне (и гораздо больше, чем обрезка):

convert -crop +100+10 in.jpg out.jpg

обрезает 100 пикселей от левой границы, 10 пикселей от верхней.

convert -crop -100+0 in.jpg out.jpg

обрезает на 100 пикселей вправо и так далее. Сайт Imagemagick знает больше:

http://www.imagemagick.org/Usage/crop/

Я нашел nconvert пока что очень удобно.

for f in final/**/*;
do
   convert -crop 950x654+0+660 "$f" "${f%.jpg}".jpg
done

Этот скрипт просматривает все подпапки и обрезает файлы.jpg.

macOS имеет sipsинтегрированный инструмент обработки изображений. Доступны следующие функции обрезки:

          -c, --cropToHeightWidth pixelsH pixelsW 
        --cropOffset offsetY offsetH 

Легко с глотками: просто установите смещение, чтобы начать обрезку:

      sips --cropOffset 1 1 -c <height> <width> -o output.png input.png

Я отсканировал несколько страниц, и все ~130 страниц нуждаются в обрезке нижней ~1/8 страницы.

С помощью mogrify не работал для меня,

a@a-NC210-NC110:/media/a/LG/AC/Learn/Math/Calculus/Workshop/clockwise/aa$ mogrify -quality 100 -crop 2592×1850+0+0 *.jpg  
mogrify.im6: invalid argument for option `2592×1850+0+0': -crop @ error/mogrify.c/MogrifyImageCommand/4232.

тем не мение convert сделал:

a@a-NC210-NC110:~/Pictures/aa$ convert '*.jpg[2596x1825+0+0]' letter%01d.jpg  
a@a-NC210-NC110:~/Pictures/aa$

Я узнал об этом здесь, в разделе Inline Image Crop.

Обратите внимание на мой синтаксис: мне пришлось поместить свою геометрию в скобки: [],

Использование приведенного выше успешного синтаксиса, но с mogrify просто не сработало:

a@a-NC210-NC110:~/Pictures/aa$ mogrify '*.jpg[2596x1825+0+0]' letter%01d.jpg
mogrify.im6: unable to open image `letter%01d.jpg': No such file or directory @ error/blob.c/OpenBlob/2638.

Linux a-NC210-NC110 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux
Lubuntu 14.04 LTS
Другие вопросы по тегам