【发布时间】:2017-07-26 23:05:28
【问题描述】:
我正在尝试使用 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
【问题讨论】:
-
那只是警告,不是错误,应该不会影响处理。您仍然应该获得输出图像。 PNG 不喜欢将 sRGB 颜色配置文件添加到灰度图像中。
-
这是一个错误,没有输出 png 图片
-
从命令行对我来说工作正常:
convert https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/President_Roosevelt_-_Pach_Bros.tif/lossy-page1-165px-President_Roosevelt_-_Pach_Bros.tif.jpg tmp.png。转换:配置文件'icc':'RGB':灰度PNG`tmp.png@warning/png.c/MagickPNGWarningHandler/1665上不允许RGB色彩空间。我只收到警告并创建文件。因此,也许您的 R 将警告误解为错误。也可能是 ImageMagick 或 libpng 的版本问题。你的每个版本是什么?我正在使用 IM 6.9.9.37 和 libpng 1.6.34 -
当我加载magick时,有一条消息说'Linking to ImageMagick 6.9.9.14'没有关于libpng的信息。我将此报告为错误github.com/ropensci/magick/issues/116
-
您可以使用
convert -list format来检查libpng 的版本,然后查看PNG 的行。
标签: r image-processing imagemagick imagemagick-convert