将多个png转换为gif作为R中的动画
Posted
技术标签:
【中文标题】将多个png转换为gif作为R中的动画【英文标题】:Convert multiple png to gif as an animation in R 【发布时间】:2019-10-16 18:31:45 【问题描述】:我在一个目录中有一堆 png 文件,我想通过 R 将它们转换为 gif(动画)文件。你能告诉我怎么做吗?
【问题讨论】:
【参考方案1】:这里有一些你可以使用的虚拟代码:
首先使用magick
GIF 包
将magrittr
包或dplyr
包用于%>%
library(magick)
library(magrittr)
然后列出目录下的文件,并合并成gif fps 是每秒帧数
list.files(path='/$PATH/', pattern = '*.png', full.names = TRUE) %>%
image_read() %>% # reads each path file
image_join() %>% # joins image
image_animate(fps=4) %>% # animates, can opt for number of loops
image_write("FileName.gif") # write to current dir
【讨论】:
【参考方案2】:gifski
包的解决方案:
library(gifski)
png_files <- list.files("path/to/your/pngs/", pattern = ".*png$", full.names = TRUE)
gifski(png_files, gif_file = "animation.gif", width = 800, height = 600, delay = 1)
gifski
的优势在于GIF中的颜色数量不限于256种。
【讨论】:
几百帧,我发现gifski
比magick
快很多。以上是关于将多个png转换为gif作为R中的动画的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法将图像文件夹(png、gif)转换为 Python 中的数组列表?