The Computer Oracle

fast batch image resizer

--------------------------------------------------
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
and get $2,000 discount on your first invoice
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Quiet Intelligence

--

Chapters
00:00 Fast Batch Image Resizer
00:43 Answer 1 Score 4
00:56 Answer 2 Score 6
01:36 Answer 3 Score 6
02:01 Answer 4 Score 1
02:33 Thank you

--

Full question
https://superuser.com/questions/315885/f...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#images

#avk47



ANSWER 1

Score 6


I'm using IrfanView for converting 1 GB of tiff files to smaller GIF ones each night. Takes only some minutes.

A sample command woulöd look like this (I use this to convert pictures for my digital photo display)

"C:\Program Files (x86)\IrfanView\i_view32.exe" "C:\Pictures\Best\*.jpg" /resample=(720,540) /aspectratio /convert="C:\Temp\miniDisp\*_rsz.jpg"

This does resize all JPG files from C:\Picutres\Best\ to 720x540 and save them as C:\Temp\miniDisp\ OrgFilename_rsz.jpg.

The command line switches IrfanView understands can be found inside the online help (see Index - Command line options) or online here




ANSWER 2

Score 6


Not sure how it will compare in the benchmark dept but you may want to give ImageMagick a try using the "convert" or "mogrify" tools. It sounds like it makes good use of 64 bit, number of cores and such.
All I know is that it is really powerful and feature full. I can resize in place or add options like resample filters and file type conversions.

mogrify -format jpg -filter Cubic -resize 20%x20% rgb-?.png



ANSWER 3

Score 4


Check out these programs:

  1. Batch Picture Resizer.
  2. Image Resizer.

Resizing images using batch files: Batch Resize.




ANSWER 4

Score 1


Parallel can be used to speed up batch conversions with imagemagick.

Shrink every *.jpg in a directory such that neither the height nor width is bigger than 1080 pixels:

parallel mogrify "{}" -resize 1080x1080 ::: *.jpg

Using convert to create seperate smaller files:

parallel convert "{}" -resize 1080x1080 "{.}-small.jpg" ::: *.jpg

Note that this applies to GNU parallel, not the version packaged in Debian's moreutils, which has a different syntax & less features. See the man page for more information on parallel.