使用R magick包时出错

时间:2017-07-26 23:05:29

标签: r image-processing imagemagick imagemagick-convert

我正在尝试使用R中的magick包以png格式保存jpeg图片,而我正面临错误。

以下是我使用此代码时出现的错误:

library(magick)

testPic <- "https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/President_Roosevelt_-_Pach_Bros.tif/lossy-page1-165px-President_Roosevelt_-_Pach_Bros.tif.jpg"

image <- image_read(testPic)
image_info(image)
image_convert(image, format = "png", depth = NULL)
Error in magick_image_write(image, format, quality) : 
  Magick: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `' @ warning/png.c/MagickPNGWarningHandler/1656

1 个答案:

答案 0 :(得分:2)

这是bug in imagemagick。解决方法是将strip = TRUE添加到image_read()

library(magick)

testPic <- "https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/President_Roosevelt_-_Pach_Bros.tif/lossy-page1-165px-President_Roosevelt_-_Pach_Bros.tif.jpg"

image <- image_read(testPic, strip = TRUE)
image_info(image)
image_convert(image, format = "png", depth = NULL)

我会尝试再次ping上游以解决此问题。