如何使用 R 中的光栅包将 RGB 图像转换为 CIELAB?

问题描述

我使用以下代码读取了 RGB 图像

library(raster)
#Load an image
logo <- stack(system.file("external/rlogo.Grd",package="raster"))
plot(logo)

现在,我想将 RGB 图像转换为 CIELAB 图像。如何使用 raster R 包做到这一点?我知道 CRImage Bioconductor 包具有实现此功能功能 (convertRGBToLAB)。但我想使用 raster R 包来实现它。

解决方法

您可以使用 convertColor() 函数:

library(raster)
logo <- stack(system.file("external/rlogo.grd",package="raster"))
plot(logo)

new_vals <- values(logo) / 255
new_vals <- convertColor(new_vals,from = "sRGB",to = "Lab")
values(logo) <- new_vals
plot(logo)