簡體   English   中英

從2D角度陣列創建彩色編碼圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM