Resizing a large number of Images with Gimp or IrfanView
I have about 300 pictures.
They were taken of the restoration of the place where I work.
Now we have an opening night with some people.
The pictures are sometimes portrait and sometimes landscape, in varying resolutions and sizes.
What I actually need now is to resize all of these pictures to our monitors with a maximum size of 1920x1080.
What is a quick and efficient way to do this?
Here are the programs I have access to.
I could ask a friend if I might use his PC since there's Photoshop on it.
As Joonas mentions in his comment, Gimp and Irfanview have both batch processing tools.
Batch processing in Gimp (source)
GIMP comes with a so-called batch mode that allows you to do image processing from the command line. It also makes it easy to apply the same set of operations to a number of images.
gimp -b -
will tell GIMP to start in batch mode and accept commands on the command-line. Here's an example of a script that takes a filename and some numeric parameters. It opens the respective file, applies the Unsharp Mask filter and saves the image again:
(define (simple-unsharp-mask filename radius amount threshold) (let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) (drawable (car (gimp-image-get-active-layer image)))) (plug-in-unsharp-mask RUN-NONINTERACTIVE image drawable radius amount threshold) (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename) (gimp-image-delete image)))
Processing several files
You might want to apply an effect to a number of files, typically to a set of files in the same directory. GIMP 2.2 added a very useful function for this purpose, the file-glob plug-in. This turns GIMP into a versatile batch processor. In order to use it, we will need to do some modifications to our script:
(define (batch-unsharp-mask pattern radius amount threshold) (let* ((filelist (cadr (file-glob pattern 1)))) (while (not (null? filelist)) (let* ((filename (car filelist)) (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) (drawable (car (gimp-image-get-active-layer image)))) (plug-in-unsharp-mask RUN-NONINTERACTIVE image drawable radius amount threshold) (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename) (gimp-image-delete image)) (set! filelist (cdr filelist)))))
This version of the script takes a glob pattern instead of a filename and will apply the Unsharp Mask filter to all files matching this pattern.
Batch Resize Images with IrfanView (source)
Start up â€œIrfanView Thumbailsâ€, and browse to the folder that contains the images you wish to resize.
Once you see previews of your images in the right-hand pane, select them all by holding CTRL and pressing A. Once your images are selected, start the batch configuration dialog by clicking File â†’ Start batch dialog with selected files.
At this point, you should see the Batch Conversion dialog window. Using this screen, you will select the location in which to save the thumbnails, input the maximum size of each thumbnail, and enter the quality of the resulting images.
Under â€œOutput directory for result filesâ€, click on the â€œBrowseâ€ button and choose a folder in which to save the resized thumbails.
Under â€œBatch Conversion Settingsâ€, click on the â€œOptionsâ€ button in order to set the quality of the resized images.
Next, click the â€œAdvancedâ€ button. Using the resulting dialog window, input the size to which you wish to resize your images. Hit â€œOKâ€ and returned to the batch conversion dialog.
If you made it through all those input fields and check boxes, it is now time to run your batch and resize your images. Click the â€œStart Batchâ€ button and watch IrfanView go to work.