gpt4 book ai didi

c++ - 为灰度图像着色

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:25 25 4
gpt4 key购买 nike

我有一个灰度图像和一些颜色,以 RGB 三元组表示。我需要使用这个三元组为灰度图像着色。

左图代表我们拥有的,右图代表我需要的。现在在程序中我有一些功能,其中输入是源图像的 R、G 和 B 值以及应该用作着色值的 RGB 值颜色。而且我无法决定如何使用颜色 RGB 增加或减少源 RGB 以获得正确的调色板。

语言是C++,但不是那么重要。提前致谢。

最佳答案

其他答案建议将灰度值乘以目标 RGB 颜色。这没关系,但问题是它会改变图片的整体亮度。例如,如果您选择深绿色阴影,则整个图像会变暗。

我认为 RGB 颜色模型不是最适合这个的。另一种方法是单独选择颜色,而不是关联亮度,然后在保留每个像素的原始亮度的同时为图像着色。

算法应该是这样的:

  • 根据两个值(色调和饱和度)选择目标颜色。色调决定了颜色的基调(绿色、红色等),饱和度决定了颜色的纯度(纯度越低颜色越灰)。
  • 现在,对于灰度图像中的每个像素,计算 HLS 颜色模型中的新像素,其中 H 和 S 是您的目标色调和饱和度,L 是像素的灰度值。
  • 将此 HLS 颜色转换为 RGB 并保存到新图片。

有关将 HLS 转换为 RGB 的算法,请参阅 this pagethis page .

关于c++ - 为灰度图像着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7521058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com