Command line batch image cropping tool

后端 未结 6 2092
执笔经年
执笔经年 2021-01-31 07:27

is there any lightweight command line batch image cropping tool(Linux or Windows) which can handle a variety of the formats ?

相关标签:
6条回答
  • 2021-01-31 08:01

    Imagemagick's convert does the trick for me (and much more than cropping):

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

    crops 100 pixels off the left border, 10 pixels from the top.

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

    crops 100 pixels off the right, and so on. The Imagemagick website knows more:

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

    0 讨论(0)
  • 2021-01-31 08:07

    I have scanned some pages and all ~130 pages needs the lower ~1/8 of the page cut off.

    Using mogrify didn't work for me,

    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.
    

    However convert did:

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

    I learnt this here under the Inline Image Crop section.

    Notice my syntax: I had to put my geometry in brackets: [].

    Using the successful syntax above but with mogrify simply didn't work, producing:

    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
    
    0 讨论(0)
  • 2021-01-31 08:10

    In Linux you can use

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

    for CLI image manipulation

    0 讨论(0)
  • 2021-01-31 08:14

    Imagemagick is what you want -- tried and true.

    0 讨论(0)
  • 2021-01-31 08:25

    I found nconvert pretty handy so far.

    0 讨论(0)
  • 2021-01-31 08:26
    for f in final/**/*;
    do
       convert -crop 950x654+0+660 "$f" "${f%.jpg}".jpg
    done
    

    This script loops through all the sub-folders and crops the .jpg files.

    0 讨论(0)
提交回复
热议问题