I'm trying to use imagemagick-7 (CLI) on ubuntu to identify and convert RAW images to PNG format. I am using the dcraw
binary as the delegate for identifying and converting raw images.
I updated the dng:decode
delegate in delegates.xml
as follows:
<delegate decode="dng:decode" command=""dcraw" "%i"" />
When I run this command: magick identify test.dng
, I get the following error:
identify: unable to open image '/tmp/magick-24332a6nW8lcwejNJ.ppm': No such file or directory @ error/blob.c/OpenBlob/3489.
The same error is given for magick convert
. I noticed that imagemagick is generating a temporary intermediate file in my /tmp
directory, which has a different name than the name it's expecting to find there. For example, it generates this file - magick-24332P6aVDePOFeCn.ppm
- but is expecting the file it generated to have this name - magick-24332a6nW8lcwejNJ.ppm
- which is why it's not finding it.
Note: I tested the same thing on OS X and it works perfectly fine (with the same delegates.xml
configuration).
Is this a bug in imagemagick's implementation for unix systems or am I doing something wrong? Any thoughts would be greatly appreciated!
For anyone else who experiences this problem, my solution ended up being to switch from imagemagick to graphicsmagick, which is by default configured to use
dcraw
(of course, you need to havedcraw
installed and on yourPATH
).http://www.graphicsmagick.org/