我尝试使用imagik将.CR2或.NEF文件转换为jpg。
ImageMagik安装在服务器上。我的代码:
$im = new Imagick( 'canonRaw_test.CR2' );
$im->setImageFormat( 'jpg' );
$im->writeImage( 'canonRaw_test.jpg' );
$im->clear();
$im->destroy();
它返回:致命错误:无法打开图像‘/var/tmp/magick-80620Kc-ZP09ux4Rc.ppm’的非公开异常'ImagickException‘:没有这样的文件或目录@ error/blob.c/OpenBlob/2658'。
同样的代码可以很好地工作在jpg甚至.HDR文件中。
注意:图像文件似乎很好。我用其他.cr2进行了测试,以确保它不是文件本身造成的问题。
有什么想法吗?谢谢。
发布于 2017-08-31 13:36:25
好吧,我解决了。
我不得不安装ufraw。在CentOS上:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum install libjpeg-turbo dcraw perl-Image-ExifTool
yum install ufraw
然后更新delegates.xml of imageMagick:
<delegate decode="dng:decode" command=""ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
使用ufraw批处理的绝对路径:
command=""ufraw-batch"
代之以:
command=""/usr/bin/ufraw-batch"
找出我用的绝对路径
locate ufraw-batch
如果不显示位置,请使用:
echo $PATH
这将为您提供程序所在的文件夹,并在每个文件夹上尝试"ls“。您将找到ufraw批处理,然后找到它的绝对路径。
我花了两天时间来实现这一点,因为我不习惯使用命令行。希望它能对未来的人有所帮助。
https://stackoverflow.com/questions/45958767
复制相似问题