首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >imagemagick原始文件识别/转换-没有这样的文件或目录(tmp文件)

imagemagick原始文件识别/转换-没有这样的文件或目录(tmp文件)
EN

Stack Overflow用户
提问于 2018-09-14 06:46:41
回答 3查看 1.6K关注 0票数 1

我正尝试在ubuntu上使用imagemagick-7 (CLI)来识别原始图像并将其转换为PNG格式。我使用dcraw二进制文件作为识别和转换原始图像的委托。

我在delegates.xml中更新了dng:decode委托,如下所示:

<delegate decode="dng:decode" command="&quot;dcraw&quot; &quot;%i&quot;" />

当我运行这个命令:magick identify test.dng时,我得到以下错误:

identify: unable to open image '/tmp/magick-24332a6nW8lcwejNJ.ppm': No such file or directory @ error/blob.c/OpenBlob/3489.

对于magick convert,也会出现同样的错误。我注意到imagemagick在我的/tmp目录中生成了一个临时中间文件,它的名称与它期望在那里找到的名称不同。例如,它生成了这个文件- magick-24332P6aVDePOFeCn.ppm -但是期望它生成的文件具有这个名称- magick-24332a6nW8lcwejNJ.ppm -这就是为什么它找不到它的原因。

注意:我在OS上测试了同样的东西,它工作得很好(使用相同的delegates.xml配置)。

这是imagemagick在unix系统上的实现中的一个bug,还是我做错了什么?如果您有任何想法,我们将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2018-09-14 09:27:52

差不多了!您需要使用%o占位符来告诉委托管理器输出文件将被写入的位置。但是,dcraw实用程序没有输出目的地选项--至少从手册页可以看出是这样。它确实有一个stdout选项(-c),因此您应该能够通过管道/将流重定向到输出位置。

代码语言:javascript
复制
dcraw -c %i > %o

或在委托XML中。

代码语言:javascript
复制
<delegate decode="dng:decode" command="&quot;dcraw&quot; -c &quot;%i&quot; &gt; &quot;%o&quot;" />

更新

我在自定义委派中观察到的一些技巧。

  • 使用二进制文件的完整路径。通常是因为我在系统路径之外安装了一些东西。通常是/usr/local/bin/opt目录。

command="/usr/local/bin/dcraw ...

  • 通过管道使用mv。如果你不习惯调试unix streams之类的东西。只需执行一些基本的复制/移动命令。我们可以用以下命令重写上面的命令:

DCraw%i;mv %i.ppm %o

  • 忽略转义引号,直到您知道它的工作方式。封装参数很重要,可以保证一切安全,但\"%i&quot;%i很难读懂。

..。验证调用是否正确...那很可能是逃逸路径。

  • 如前所述,使用identify -list Delegate验证命令是否正确加载,使用-verbose验证运行时是否正确调用该命令。
票数 1
EN

Stack Overflow用户

发布于 2018-10-01 16:35:07

您关闭了在委托中使用的正确命令是

代码语言:javascript
复制
<delegate decode="dng:decode" command="&quot;dcraw&quot; -c &quot;%i&quot; &gt; &quot;%u.ppm&quot;" />
票数 1
EN

Stack Overflow用户

发布于 2018-09-17 03:07:00

对于遇到这个问题的其他人,我的解决方案最终是从imagemagick切换到graphicsmagick,后者默认配置为使用dcraw (当然,您需要在PATH上安装dcraw )。

http://www.graphicsmagick.org/

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

https://stackoverflow.com/questions/52322701

复制
相关文章

相似问题

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