我需要將sRGB的高分辨率正射馬賽克照片轉換爲Lab色彩空間。我嘗試過使用基本R功能convertColor()
,但我從未完成過至少一次轉換(圖像超過10公頃,5釐米像素分辨率,〜50.0000.0000像素)。提高從sRGB到Lab色彩轉換的速度
我試過用patchPlot
包,它有更快的計算。但是,考慮到我的圖像的大小,我正在尋找一種更好的方式來做到這一點。
是否有改進此計算的包/函數/方法?
示例測試與convertColor
和patchPlot::RGB2Lab
:
library(raster)
library(patchPlot)
library(microbenchmark)
r <- stack(system.file("external/rlogo.grd", package="raster"))
microbenchmark(baseR = convertColor(color = values(r), from = 'sRGB', to = 'Lab'),
patchPlot = RGB2Lab(values(r)))
## Unit: milliseconds
## expr min lq mean median uq max neval cld
## baseR 261.702873 282.60345 316.76008 310.31006 327.05536 550.07653 100 b
## patchPlot 8.335807 9.58279 11.53369 10.11684 11.69073 46.78427 100 a
將RasterStack分成RasterLayers並在其上運行RGB2Lab是否有意義? – PoGibas
@PoGibas'RGB2Lab'的輸入是3列矩陣,我不能分割它 –
甚至不是行? – PoGibas