Batch resize images and output images to new folder with ImageMagick
Asked Answered
T

4

108

Current image folder path:

public_html/images/thumbs

Output image folder path:

public_html/images/new-thumbs

I have 10 video thumbs per video in current folder, named of image thumbs:

1-1.jpg
1-2.jpg
1-3.jpg
1-4.jpg
1-5.jpg (Resize)
1-6.jpg
1-7.jpg
1-8.jpg
1-9.jpg
1-10.jpg

2-1.jpg
2-2.jpg
2-3.jpg
2-4.jpg
2-5.jpg (Resize)
2-6.jpg
2-7.jpg
2-8.jpg
2-9.jpg
2-10.jpg

I want to resize all 5th images(*-5.jpg) to the new folder. I've tried below command but no luck:

mogrify 
-path 
  public_html/images/thumbs/*-5.jpg 
-resize 16×12 
-quality 100 
  public_html/images/new-thumbs/*-5.jpg
Tungusic answered 13/1, 2013 at 14:34 Comment(0)
D
151

"Mogrify" should be called from the directory with the original thumbnails, while the -path parameter is for pointing target directory.

mkdir public_html/images/new-thumbs
cd public_html/images/thumbs
magick mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg

http://www.imagemagick.org/Usage/basics/#mogrify

The last arguments are the list of files, so you can filter by name 1-*.jpg for example.

Dinnage answered 2/8, 2013 at 13:31 Comment(7)
You are right, but you can also call mogrify from any directory, for example I convert originary jpeg into png with mogrify -path /destination/path/ -adaptive-resize 5000 -unsharp 0x1 -format png /originary/path/*.jpegNereus
Note that output directories you're pointing to must exist, as ImageMagick will no create them, causing a mogrify: unable to open image error.Yoder
This don't work with i try with png and put 1024x600 , all images are resized to 800x600 instead 1024x600Stun
Well great, I specified path but it nuked the original files nonetheless. Is there something wrong with my command line? This is Windows, hence the back slashes: mogrify -resize 2752 *.tif -path E:\1\ Xylograph
@VioletGiraffe, options order matters, it should have been like that: mogrify -resize 2752 -path E:\1\ *.tif (note that *.tif is in the end). What you tried was like passing an image setting or operator, but it is not applicable to mogrify, afaik.Dinnage
I see, thank you very much for this answer-comment as well as the main answer!Xylograph
For someone who always gets confused with width and height. Width comes first. width x heightMaible
H
25

Suggested solutions do not work properly on the latest ImageMagick (at least, on macOS). Command, that works overwriting source images is as follows:

magick mogrify -path ./ -resize 50% -quality 80 *.jpg

To avoid overwriting the original images, write to a new folder:

magick mogrify -path path/to/destination/folder/ -resize 50% -quality 80 *.jpg

Haemic answered 11/10, 2019 at 13:24 Comment(2)
If you resize by 50% then reduce the quality by 20% then it will only be 40% of the original quality? i.e. 0.5 * 0.8Buffy
@PaoloTormon: No. -resize changes the size in pixels, -quality changes the compression of the file. For PNG, -quality alters the ratio between file size and time to decompress, but the format is lossless so you won't see any difference between files compressed with different "qualities". For JPEG, you will see a difference but it's more complex than making the product of the two parameters.Raffarty
A
2

For those having Shotwell installed on Ubuntu/Debian, following may be more easy to export selected images in a folder to another folder through processing the images as needed.

  • Open Shotwell
  • Select the images you want to export
  • File > Export
  • Adjust the values to your needs
  • Select the folder to export
Agronomy answered 19/5, 2017 at 18:53 Comment(0)
M
0

In my case, I used version 7.1.1.

F:\Dataset\images>c:\"Program Files"\ImageMagick\mogrify -quality 50 -path ..\lowquality\ *

This code should be executed from the original image folder and directed to a new folder location to save.

And do not forget to add "" to "Program Files" or else it will return this error

c:\Program: The term 'c:\Program' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Misprint answered 9/9, 2023 at 20:5 Comment(1)
legacy.imagemagick.org/Usage/resize go through this link alsoMisprint

© 2022 - 2024 — McMap. All rights reserved.