魔法图像矢量上的mapply

问题描述 投票:1回答:2

我尝试使用magick::image_rotate()旋转图像与mapply不同的旋转角度和image_rotate没有得到正确的输入

easterEggs <- c(
  'https://cdn.pixabay.com/photo/2017/02/04/20/28/easter-2038263_960_720.png',
  'https://cdn.pixabay.com/photo/2016/12/15/11/41/easter-1908690_960_720.png',
  'https://cdn.pixabay.com/photo/2017/03/28/09/56/easter-egg-2181493_960_720.png',
  'https://cdn.pixabay.com/photo/2019/01/29/13/49/egg-3962420_960_720.png',
  'https://cdn.pixabay.com/photo/2018/02/25/09/44/easter-3180067_960_720.png'
)

egg <- image_read(easterEggs)
eggRotation <- runif(length(egg), -90, 90)

egg <- mapply(image_rotate, egg, eggRotation)

这导致错误

Error: The 'image' argument is not a magick image object.
r imagemagick apply mapply
2个回答
2
投票

我想你需要将鸡蛋放入一个篮子里(即一个"list"物体)

library(magick)
egg <- sapply(easterEggs, image_read)
eggRotation <- sapply(egg, function(x) runif(length(x), -90, 90))

而你的mapply将正常工作。

mapply(image_rotate, egg, eggRotation)

1
投票

尝试使用for循环旋转图像

library(magick)

egg_new <- egg
for (i in seq_along(egg)) {
  egg_new[i] <- image_rotate(egg[i], eggRotation[i])
}
egg_new
© www.soinside.com 2019 - 2024. All rights reserved.