使用 ImageMagick 创建 GIF 图像时出错:异常和闪烁问题太多
Error at creating GIF Image with ImageMagick: too many exceptions and blinking problem
我有一个包含大量具有以下结构的 png 文件的目录:
image1.png
image2.png
...
image3372.png
我正在尝试使用 ImageMagick 创建 GIF 图像,所以在终端中我输入:
sudo apt-get install imagemagick
convert -delay 0.01 -loop 0 *.png myimage.gif
但是我有下一个错误:
...
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c
/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `Image119.png' @ error/cache.c/OpenPixelCache/3984.
convert-im6.q16: too many exceptions (exception processing suspended).
并且创建的GIF不完整:
另外,它闪烁。我认为这是因为它认为 image18 和 image180 是连续的。我该如何解决?
我是运行Ubuntu18岁
编辑:
xenoid 建议生成的新图像
- 100 frames/second 太过分了。您可以 运行 和 10 frames/sec 并将图像数除以 10(或者至少是标准的 25 frames/sec 然后除以 4)。
*.png
由您的 shell 按字母顺序 展开和排序 ,因此如果您想要按编号顺序排列的帧,请用 0 填充名称:
for n in {1..3372} ; ; do mv image$n.png image$(printf "%04d" $n).png ; done
convert
(和其他 IM 命令)似乎使用内存缓存并具有其他自我强制限制(您可以使用 IM 的 identify
命令列出):
>>> identify -list resource
Resource limits:
Width: 16KP
Height: 16KP
List length: 18.446744EP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 8
Throttle: 0
Time: unlimited
您可以提高一个人的上限运行:
convert -limit memory 1000 ...
我有一个包含大量具有以下结构的 png 文件的目录:
image1.png
image2.png
...
image3372.png
我正在尝试使用 ImageMagick 创建 GIF 图像,所以在终端中我输入:
sudo apt-get install imagemagick
convert -delay 0.01 -loop 0 *.png myimage.gif
但是我有下一个错误:
...
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c
/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `Image119.png' @ error/cache.c/OpenPixelCache/3984.
convert-im6.q16: too many exceptions (exception processing suspended).
并且创建的GIF不完整:
另外,它闪烁。我认为这是因为它认为 image18 和 image180 是连续的。我该如何解决?
我是运行Ubuntu18岁
编辑:
xenoid 建议生成的新图像
- 100 frames/second 太过分了。您可以 运行 和 10 frames/sec 并将图像数除以 10(或者至少是标准的 25 frames/sec 然后除以 4)。
*.png
由您的 shell 按字母顺序 展开和排序 ,因此如果您想要按编号顺序排列的帧,请用 0 填充名称:
for n in {1..3372} ; ; do mv image$n.png image$(printf "%04d" $n).png ; done
convert
(和其他 IM 命令)似乎使用内存缓存并具有其他自我强制限制(您可以使用 IM 的identify
命令列出):
>>> identify -list resource
Resource limits:
Width: 16KP
Height: 16KP
List length: 18.446744EP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 8
Throttle: 0
Time: unlimited
您可以提高一个人的上限运行:
convert -limit memory 1000 ...