使用 R 中的渐变修改光栅图像的颜色范围

问题描述

对于 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]])

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)