问题描述
对于 rasterBrick,我只想减少第 3 层值高于 0.5 的所有像素的值。在下面的示例中,我除以系数 2,但我想按照梯度减小,这意味着系数是像素值的函数。对于 0.5 的值,我除以 1; 0.6 乘 1.2; 7 x 1.4...直到 1 x 2。
怎么做?我不确定我的代码是否可以做到。
https://i.stack.imgur.com/qM2ZO.jpg
代码如下:
library(raster)
f <- stack(list.files(path='C:/Users/Desktop/Image test',full.names=TRUE))
b <- brick(f)
hsv <- overlay(b,fun=rgb2hsv)
color_threshold <- 0.5
update_value <- hsv[[3]]/2
layer <- 3
i <- hsv[[layer]] > color_threshold
hsv[[layer]] <- mask(hsv[[layer]],i,maskvalue=1,updatevalue=update_value)
plot(hsv[[3]])
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)