我需要转换一个非常大的图像。Image Magick 的默认资源限制太小了。
Image Magick 网站讨论了更改限制,但我尝试过的语法都没有奏效,无法识别命令。
例如,我需要将 magick_disk_limit 设置为 25GB 之类的东西。然后会有一系列其他的设置,magick_area_limit,magick_height_limit等等。我如何输入这些命令?
我试过的是
-limit width 100KP
convert -limit width 100KP
magick_disk_limit 25GB
MAGICK_DISK_LIMIT 25GB
Run Code Online (Sandbox Code Playgroud)
在所有情况下,响应要么是未找到命令,要么是无法识别的资源类型。我还尝试使用所有 -limit 参数定义为命令的一部分的转换命令,如下所示:
convert -limit 100KP 100KP 100GP 14GiB 100GiB unlimited 5 8 0 unlimited Lunar_LRO_LrocKaguya_DEMmerge_60N60S_512ppd.tif MoonRelief.png
Run Code Online (Sandbox Code Playgroud)
我现在已经试过了export MAGICK_DISK_LIMIT=25GiB
,但是当我进入identify -list resource
磁盘限制没有改变。
convert -limit memory 12GB -limit map 25GiB -limit width 10MP -limit height 10MP -limit area 100GP -limit disk 30GiB Lunar_LRO_LrocKaguya_DEMmerge_60N60S_512ppd.tif MoonRelief.png
Run Code Online (Sandbox Code Playgroud)
生成此警告和错误列表
convert-im6.q16: Unknown field with tag 33550 (0x830e) encountered. …
Run Code Online (Sandbox Code Playgroud) 我在我的 Ubuntu 18.04 系统上从源代码构建了 Image Magick 7.0.7。*magick identify -version
现在输入终端返回
Version: ImageMagick 7.0.7-37 Q16 x86_64 2018-05-31 https://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP
Delegates (built-in):
Run Code Online (Sandbox Code Playgroud)
它没有安装委托,现在我需要让它处理常见的文件类型,如 .jpg、.png 和 .tif。我确实使用过./configure --enable-shared
,但仍然缺少这些格式。但是,显然我的系统上存在这些共享库。
我最关心的格式的委托库配置条目令人困惑:
JPEG v1 --with-jpeg=yes no
OpenEXR --with-openexr=yes no
PNG --with-png=yes no
TIFF --with-tiff=yes no
Run Code Online (Sandbox Code Playgroud)
第二行似乎显示它尝试安装这些格式,但最后一行似乎显示没有安装。因此,我不知道如何处理这些信息。
编辑:此答案提供了部分解决方案,但仍然缺少很多代表,包括我真正需要的代表 TIFF。答案所针对的问题表明从 Image Magick 维护的委托库中安装了很多努力,但没有成功,这令人沮丧。如果有人对此提出建议,那么从那里安装似乎仍然是此时的最佳选择。
make check
运行时失败了 2 个测试,因此它执行其测试套件,并且我在他们的 GitHub 存储库上打开了一个问题作为日志请求。)