首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当转换CR2或NEF时,Imagick异常“无法打开图像”

当转换CR2或NEF时,Imagick异常“无法打开图像”
EN

Stack Overflow用户
提问于 2017-08-30 11:05:48
回答 1查看 2.1K关注 0票数 2

我尝试使用imagik将.CR2或.NEF文件转换为jpg。

ImageMagik安装在服务器上。我的代码:

代码语言:javascript
运行
复制
$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进行了测试,以确保它不是文件本身造成的问题。

有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-31 13:36:25

好吧,我解决了。

我不得不安装ufraw。在CentOS上:

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
<delegate decode="dng:decode" command="&quot;ufraw-batch&quot; --silent --create-id=also --out-type=png --out-depth=16 &quot;--output=%u.png&quot; &quot;%i&quot;"/>

使用ufraw批处理的绝对路径:

代码语言:javascript
运行
复制
command="&quot;ufraw-batch&quot;

代之以:

代码语言:javascript
运行
复制
command="&quot;/usr/bin/ufraw-batch&quot;

找出我用的绝对路径

代码语言:javascript
运行
复制
locate ufraw-batch

如果不显示位置,请使用:

代码语言:javascript
运行
复制
echo $PATH

这将为您提供程序所在的文件夹,并在每个文件夹上尝试"ls“。您将找到ufraw批处理,然后找到它的绝对路径。

我花了两天时间来实现这一点,因为我不习惯使用命令行。希望它能对未来的人有所帮助。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45958767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档