Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've looked around for this, and can't find an easily implemented solution.

Currently I'm working on an application that deals with panoramas. As they come out of the batch stitch process, the dimensions average 18000x4000. Using ImageMagick, how can I downscale those images to a specific height value while maintaining aspect ratio?

According to the manual, the convert operation takes in both height and width to resize to while maintaining the same aspect ratio. What I'd like is to put in 600 and 1000 in my existing resize script function and have both a regular viewable image as well as a reduced size.

share|improve this question
    
IIRC it uses the smaller dimension as base for the resize operation, i.e. if you specify something like 20000x600 it will use the 600 height as the base to calculate the converted width so it maintains the aspect ratio. Did I made myself clear? –  devius May 30 '12 at 12:07
    
Does it need to be ImageMagick? Phatch commands can be scripted, the 'fit' command does exactly what you're looking for. photobatch.wikidot.com/action-fit –  Veazer May 30 '12 at 12:08
add comment

2 Answers 2

According to the documentation of ImageMagick I suggest to use -geometry x600, whereas x600 means that the new image has a heigth of 600 px with the same aspect ratio as the old image.


For a single image you could run:

convert input.png -geometry x600 output.png

If you prefer to convert all images of a folder in one run, switch to it (i.e. cd ~/Pictures/panoramas/) and use

mogrify -geometry x600 *.png

But be careful with that, because it overwrites the original image files. To avoid that you could

  1. create a new folder (mkdir ~/Pictures/panoramas/small)
  2. copy the images into this folder (cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small) and
  3. edit the images in this new folder (cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png).
share|improve this answer
add comment

to resize all files in a folder, can use something like

mogrify -resize 800x1094! *jpg # keep image aspect ratio

--- change size and extension as suitable

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.