You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整RGB栅格的饱和度与亮度并保存为TIF格式?

调整RGB栅格的饱和度与亮度并保存为TIF

你可以通过RGB转HSV色彩空间的方式调整饱和度(S通道)和亮度(V通道),再转回RGB格式保存,以下是基于raster和terra包的实现方案:

方法一:使用raster包

library(raster)

# 你的原始代码
r <- raster(ncol=10, nrow=10) 
set.seed(1)
r1 <- setValues(r, rpois(100, 150))
r2 <- setValues(r, rpois(100, 200))
r3 <- setValues(r, rpois(100, 150))
r <- stack(r1, r2, r3)
names(r)=c("R","G","B")

# 1. 将栅格值归一化到0-1区间(适配色彩空间转换要求)
r_norm <- stack(lapply(r, function(x) x / max(values(x))))

# 2. 提取RGB像素值并转换为HSV空间
rgb_matrix <- as.matrix(r_norm)
hsv_matrix <- rgb2hsv(rgb_matrix[,1], rgb_matrix[,2], rgb_matrix[,3])

# 3. 调整饱和度和亮度
saturation_coeff <- 1.5  # >1增加饱和度,<1降低饱和度
brightness_coeff <- 1.2   # >1提升亮度,<1降低亮度

# 确保调整后数值不超出HSV的0-1范围
hsv_matrix["s", ] <- pmin(hsv_matrix["s", ] * saturation_coeff, 1)
hsv_matrix["v", ] <- pmin(hsv_matrix["v", ] * brightness_coeff, 1)

# 4. 转换回RGB格式
new_rgb_matrix <- hsv2rgb(hsv_matrix)

# 5. 赋值回栅格并调整为图像兼容的0-255整数格式
new_r <- r
values(new_r) <- t(new_rgb_matrix)
new_r <- round(new_r * 255)
dataType(new_r) <- "INT1U"  # 设置为8位无符号整数

# 6. 保存为TIF
writeRaster(new_r, "adjusted_rgb.tif", format="GTiff", overwrite=TRUE)

方法二:使用terra包(推荐,处理大栅格更高效)

library(terra)

# 将raster对象转换为terra的SpatRaster
r_terra <- rast(r)

# 1. 归一化到0-1区间
r_norm <- r_terra / max(values(r_terra))

# 2. 提取像素值并转HSV空间
rgb_vals <- values(r_norm)
hsv_vals <- rgb2hsv(rgb_vals[,1], rgb_vals[,2], rgb_vals[,3])

# 3. 调整参数
s_coeff <- 1.5
b_coeff <- 1.2

hsv_vals["s", ] <- pmin(hsv_vals["s", ] * s_coeff, 1)
hsv_vals["v", ] <- pmin(hsv_vals["v", ] * b_coeff, 1)

# 4. 转回RGB并赋值回栅格
new_rgb_vals <- t(hsv2rgb(hsv_vals))
new_r_terra <- r_terra
values(new_r_terra) <- round(new_rgb_vals * 255)
datatype(new_r_terra) <- "INT1U"

# 5. 保存为TIF
writeRaster(new_r_terra, "adjusted_rgb_terra.tif", format="GTiff", overwrite=TRUE)

关键说明

  • 归一化步骤是必须的:rgb2hsv函数要求输入值在0-1区间,因此需要先将原始栅格的数值缩放至该范围。
  • 数值范围限制:调整后用pmin确保HSV通道值不超过1,避免色彩失真。
  • 图像格式适配:将最终值转回0-255的8位整数,符合TIF图像的常规存储格式。

内容的提问来源于stack exchange,提问作者Leprechault

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 03:00:08