60

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

2
  • Is there anything else about your system you'd like to tell us? for example, which OS? Commented Dec 12, 2009 at 12:20
  • Either Linux or Windows.I have both on my little netbook Commented Dec 12, 2009 at 12:22

8 Answers 8

63

In Linux you can use

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

for CLI image manipulation

Sign up to request clarification or add additional context in comments.

6 Comments

homebrew makes short work of this in Mac OS X also. brew install imagemagick Then to see your new goodies... ls -lrt /usr/local/bin/
P.S. to actually crop the image in the sense in which this operation is commonly understood, use the +repage argument along with the crop operator.
Additionally: trying this I got very confused, until I figured out that the image was actually rotated and the image viewer autorotated it upright. (The right orientation is contained in metadata/exif data I think.) To fix this, I used this: mogrify -alpha on -auto-orient *.jpg
@ReactiveRaven Link dead
NOTE that mogrify will overwrite the image, while convert will write to a new one
|
60

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

2 Comments

Worth mentioning that ImageMagick's convert also offers autocrop/autocropping, throug the -trim option.
-trim is terrific! It cuts out all the white margins automatically.
33

Imagemagick is what you want -- tried and true.

4 Comments

Thought I would share this, I tried pasting the link in MSN messenger to a friend and no matter what it seems it's on a blacklist of MSN. I had to make tinyurl in order to share it. Strange.
That is very weird. Does MSN Messenger still exist anyway? ;)
Haha, well, I use Pidgin and it still uses the protocol that MSN had, I believe. Strange the domain would be blocked though.
This answer doesn't mention any concrete reason for why they would want it nor how to specifically use it for cropping.
7

I found nconvert pretty handy so far.

Comments

6
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.

Comments

5

macOS has sips image processing tool integrated. Cropping functions available are:

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

Comments

3

Easy with sips: just set the offset to start the cropping:

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

Comments

0

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 

1 Comment

This was because you used the character '×' instead of a 'x'

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.