unk*_*own 4 r image image-processing gif imagemagick-convert
我只是花了一个真气,试图用R中的一系列jpg文件制作一个gif.我安装了ImageMagick来运行以下代码:
system("convert -delay 40 *.png example_4.gif")
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误消息:
Warning message:
running command 'convert -delay 40 *.png example_4.gif' had status 4
Run Code Online (Sandbox Code Playgroud)
这看起来像路径错误.现在我在Imagemagick下载中寻找转换,无法在任何地方看到它.有谁知道它在哪里?
或者,是否有另一种更简单的方法可以从R中的一系列jpeg制作一个gif并不长得多的gif?
谢谢
三种选择:
magickR包而不是使用system().convert ...为magick convert ....重新安装imagemagick,并启用"安装旧版实用程序(例如转换)"选项.
此更改自7.0.1(现在高达7.0.7)以来一直存在,并在其移植指南中进行了讨论,特别是在"命令更改"一节中.
从哲学上讲,我更喜欢不安装遗留实用程序,主要是因为它可能会导致与命令名称混淆.例如,convert.exeWindows中的非ImageMagick 尝试转换文件系统...可能不是你想要意外触发的东西(你可以获得正确的参数实际做出改变的可能性很小,但它仍然不是0 ).您的PATH遗嘱中的目录顺序决定了您正在呼叫的内容.
编辑:
从评论来看,似乎"静态"和"dll"安装程序之间的区别可能会禁用安装旧版实用程序的选项convert.exe.因此,您可以切换到"dll"以获取旧版选项,或者仅限于选项1(magickR包)和2("magick convert ...").
从进一步的评论(感谢fmw42和MarkSetchell),很明显旧的convert.exe和当前的传统模式magick.exe convert与当前推荐的模式不同magick.exe(没有"转换"); 前两个是遗留和兼容模式,但它们不接受magick-alone 当前支持的所有参数.因此"convert",在命令中的任何位置使用应指示使用v6,而不是当前的v7.这个答案仅仅是继续使用v6机制的补丁; 可以说更好的解决方案是使用magick.exev7接口,完全删除"转换"传统模式.
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |