代码之家  ›  专栏  ›  技术社区  ›  Arthur

导入PNG文件并在R中转换为动画(.mp4)

  •  2
  • Arthur  · 技术社区  · 7 年前

    我正在尝试用r.i尝试包中的几个png文件创建一个简短的动画。 magick 但只有当我将它们保存到.gif时,它才起作用。当我尝试另存为.mp4时,它将生成一个.mp4文件,但一旦打开它,将只显示第一个图像。

    我的代码是

      library(magick)
      productPath <- ('/Users/abc/Desktop/products/')
      list <- list.files(productPath, '*.png')
      imagesPath <- paste0(productPath, list)
      images <- image_read(imagesPath)
      animation <- image_animate(images, fps = 20, loop = 1)
      image_write(animation, paste0(productPath, 'test.mp4'))
    

    我发现还有一个包裹叫 animation 但是我不知道如何用这个包导入PNG文件。有什么解决办法吗?两种包装都可以。谢谢您!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Stéphane Laurent    7 年前

    library(animation)
    imgs <- list.files(pattern="*.png")
    saveVideo({
      for(img in imgs){
        im <- magick::image_read(img)
        plot(as.raster(im))
      }  
    })
    

    animation.mp4