[英]create a color coded image from 2D array of angles
我正在尝试在python中编写一些将角度与某些颜色相关的代码。 基本上我有一个充满角度的2d数组,在其中我遍历其他数组以执行计算以达到每个像素的ha_deg
ha_array[i,j] = ha_deg
我想将其转换为具有颜色渐变的图像。 因此,如果0是红色,180是绿色,360是蓝色,我将能够逐像素移动以为每个角度分配颜色。 抱歉,这是一个开放式问题,我只是不确定该如何进行,可以使用一些指导! 谢谢!
这是一种方法。 以下是用于在两个RGB值之间生成线性RGB颜色渐变的常规功能。 通过组合适当长度的颜色梯度(从红色到绿色以及从绿色到蓝色),可以制作一系列RGB颜色值,这些颜色值可以用作角度值和所需颜色之间的映射:
def generateColorGradient(RGB1, RGB2, n, includeEnd=False):
dRGB = [float(x2-x1)/(n-1) for x1, x2 in zip(RGB1, RGB2)]
gradient = [tuple([int(x+k*dx) for x, dx in zip(RGB1, dRGB)]) for k in range(n-1+includeEnd)]
return gradient
gradient1 = generateColorGradient((255, 0, 0), (0, 255, 0), 181, includeEnd=False)
gradient2 = generateColorGradient((0, 255, 0), (0, 0, 255), 181, includeEnd=True)
gradient = numpy.array(gradient1 + gradient2)
#If `ha_array` is a numpy array, you can simply do this to convert all angles to RGB values:
color_array = gradient[ha_array]
#Then if you're using PIL to make images:
image = Image.fromarray(numpy.uint8(color_array))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.