2017-07-26 108 views
0

我想用R中的magick軟件包以png格式保存一個jpeg圖片,並且我正面臨錯誤。使用R magick軟件包的錯誤

下面是我得到使用此代碼錯誤:

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

這只是一個警告,而不是錯誤,它不應該影響處理。你仍然應該得到一個輸出圖像。 PNG不喜歡將sRGB顏色配置文件添加到灰度圖像中。 – fmw42

+0

這是一個錯誤,並沒有輸出PNG圖像 – user3357059

+0

它從我的命令行工作正常,如:轉換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'。 convert:profile'icc':'RGB':不允許在灰度PNG上使用RGB顏色空間tmp.png @ warning/png.c/MagickPNGWarningHandler/1665。我只收到警告並創建了文件。因此,也許你的R會將警告誤解爲錯誤。也可能是ImageMagick或libpng的版本問題。每個版本是什麼?我正在使用即時通訊6.9.9.37&libpng 1.6.34 – fmw42

回答

1

這是一個bug in imagemagick。解決方法是添加strip = TRUEimage_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解決這個問題。