【发布时间】:2018-04-02 13:29:43
【问题描述】:
为了使用 magick 包创建 .gif,我如何一次读取多个图像?
我在列表对象中成功导入它们,但收到来自image_animate() 的错误。
# read all files in folder (only .png files)
capturas <- list.files("./path/to/images/")
# get all images in a list
images <- vector()
for (i in seq_along(capturas)) {
images[i] <- list(image_read(str_c("./path/to/images/", capturas[i])))}
image_animate(image_scale(images, "500x500"), fps = 1, dispose = "previous")
得到以下错误:
> image_animate(image_scale(images, "500x500"), fps = 2, dispose = "previous")
Error: The 'image' argument is not a magick image object.
虽然在每张图片上分别使用image_read 可以正常工作...
img_1 <- image_read(str_c("./path/to/images/", capturas[1]))
img_2 <- image_read(str_c("./path/to/images/", capturas[2]))
img_3 <- image_read(str_c("./path/to/images/", capturas[3]))
img <- c(img_1, img_2, img_3)
img <- image_scale(img, "300x300")
【问题讨论】:
-
您有语法错误。以上
for,做images <- vector("list", length(capturas))。然后,在循环体中,假设所有内容(image_read等)都是正确的,请执行images[i] <- image_read(str_c("./path/to/images/", capturas[i]))。 -
执行此操作时出现此错误:
Error in images[i] <- image_read(str_c("./path/to/images/", : cannot coerce type 'externalptr' to vector of type 'list'
标签: r image imagemagick