在Java中将灰度转换为颜色渐变?
是否有任何通用算法或提供的类用于将灰度值(0-255)映射到颜色渐变中的值?我在想这样的事情:
public Color mapGrayscaleValue (byte value, Color[] gradientColors);
我希望这能为我提供的灰度云层覆盖雷达图像提供更清晰的亮点
你可以在下面搜索框中键入要查询的问题!
是否有任何通用算法或提供的类用于将灰度值(0-255)映射到颜色渐变中的值?我在想这样的事情:
public Color mapGrayscaleValue (byte value, Color[] gradientColors);
我希望这能为我提供的灰度云层覆盖雷达图像提供更清晰的亮点
# 1 楼答案
经过思考,我只是创建了一个255x1 BuffereImage,然后使用GradientPaint类为自己创建了一个颜色查找表。使用这种方法,我甚至可以加载手动创建的颜色表。对于其他人:
我可能已经将colorGradientImage转换为255长度的数组,但现在这就可以了
如果有人知道另一种或更好的方法,我总是很感兴趣
# 2 楼答案
如果您正在使用} 。它(我认为)正是你想要的
java.awt.image
,那么应该查看^{您需要以某种方式为渐变生成256个RGB值,并围绕它们创建一个模型,然后可以使用新模型从灰度光栅创建
BufferedImage
下面是一个简单明了的例子:
(来自here的图像。)
其他一些有用的地方: