Broken results on batch convert with ImageMagick command line on Linux

Active3 hr before
Viewed126 times

6 Answers


ImageMagick makes use of all these resources progressively: , @GabrielW: Which exact version is your ImageMagick? Please provide (links to) the output of the following commands: convert -version and convert -list configure. – Kurt Pfeifle Jan 13 '15 at 13:01 ,The -limit setting on a command line takes precendence and overrides all other settings., How can I overcome the setbacks of a negligent supervisor after earning a PhD degree?

What if didn't set any limit? Remove all -limit ... 0 parts from your command. In this case ImageMagick would use its built-in defaults, or the otherise defined settings (which may be contained in the policy.xml file of your IM installation, or through various environment variables). You can query the current limits of your system with the following command:

identify - list resource
load more v

This is my IM command:,So this will remove the white background of my TIFF by clipping the path that is given in the file. It will be resized and saved as transparent PNG.,What if you did set these limits to a reasonable value, that matches your system's really available resources? Assuming you have: 8 GByte of RAM, 50 GByte of free disk space and plenty of free inodes on your disk volume. Then try to set it like this: -limit disk 10GB -limit memory 3GB -limit map 6GB.,By setting the limits to a 0 value, you are basically telling ImageMagick: "Your resources are not limited at all. You do not need to care for any limits."

This is my IM command:

/usr/bin / convert
   'src.tif' -
   limit memory 0 -
   limit map 0 -
   limit file 0 -
   alpha transparent -
   clip -
   alpha opaque -
   resize 800 x600 'end.png'
2 > & 1

But if I run this command with PHP to execute it on about 13000 files - I sometimes get these errors:

sh: line 1: 25065 Killed / usr / bin / convert 'public_html/source_files/XXXX123/XXXX123/XXXX123.tif' -
   limit memory 0 - limit map 0 - limit file 0 - alpha transparent -
   clip - alpha opaque - resize 800 x600 'public_html/converted/XXXX123/XXXX123/XXXX123_web.png'
2 > & 1

sh: line 1: 25702 Killed / usr / bin / convert 'public_html/source_files/XXXX123/XXXX123/XXXX123.tif' -
   limit memory 0 - limit map 0 - limit file 0 - alpha transparent -
   clip - alpha opaque - resize 800 x600 'public_html/converted/XXXX123/XXXX123/XXXX123_web.png'
2 > & 1
load more v

It's specifically designed for this kind of use-case., Is ad-hoc polymorphism a good practice in functional programming? , Why is carbonic acid often ignored? , Can I offer to help a collaborator to finish a calculation which he's not having time to finish right now?

As vanadium posted, you have to change the ImageMagick policy.

sudo vim / etc / ImageMagick - 6 / policy.xml

and replace the line

<policy domain="coder" rights="none" pattern="PDF" />


<policy domain="coder" rights="read|write" pattern="PDF" />
load more v

I am not an expert in the actual usage, but I know you can pretty much do anything image-related with this!,Your best bet would be to use ImageMagick.,Connect and share knowledge within a single location that is structured and easy to search.,Many years too late, there's a png2jpeg utility specifically for this purpose, which I authored.

An example is:

convert image.png image.jpg

The command is:

mogrify - format jpg * .png
load more v

To convert an image, the command is convert [input options] input file [output options] output file., The convert command is used to convert an image. The format is as follows: , For example, to convert an image to be 800x600 you would use the following command: , To resize an image use the following command

sudo apt install imagemagick
load more v

ImageMagick is a suite of command-line utilities for modifying and working with images. ImageMagick can quickly perform operations on an image from a terminal, perform batch processing of many images, or be integrated into a bash script.,You can easily modify this command to perform other actions. You can also integrate batch processing commands into a Bash shell script to automate image-processing operations.,ImageMagick can perform a wide variety of operations. This guide will introduce you to ImageMagick’s syntax and basic operations and show you how to combine operations and perform batch processing of many images.,This is just the start of what you can do with ImageMagick. There are many more operations you can combine.

ImageMagick isn’t included in the default installations of Ubuntu and many other Linux distributions. To install it on Ubuntu, use the following command:

sudo apt - get install imagemagick
load more v

Other "convert-broken" queries related to "Broken results on batch convert with ImageMagick command line on Linux"