您確定RGB值介於0和1之間嗎?使用你的代碼,我做了這個例子:
import matplotlib.pyplot as plt
import numpy as np
n_points = 100
a = np.linspace(0, 1, n_points)
b,c = np.meshgrid(a,a)
image = (b+c)/2
a_third = n_points/3.
I = np.dstack([image, image, image])#
I[a_third:2*a_third, a_third:2*a_third, :] = [1 , 0 , 0]
plt.figure()
plt.imshow(I, interpolation='nearest')
但是,如果我改變上面的例子中使用0到255之間的值(你似乎那些點設置爲[200, 0, 0]
時做):
import matplotlib.pyplot as plt
import numpy as np
n_points = 100
a = np.linspace(0, 255, n_points)
b,c = np.meshgrid(a,a)
image = (b+c)/2
a_third = n_points/3.
I = np.dstack([image, image, image])#
I[a_third:2*a_third, a_third:2*a_third, :] = [255 , 0 , 0]
plt.figure()
plt.imshow(I, interpolation='nearest')
給出的值大於1時,只會考慮其剩餘W¯¯當我認爲母雞除以1(你可以在最後一個例子中通過更改image = ((b+c)/2)%1
行來檢查,並驗證你獲得了相同的圖像)。
紅色區域'NaN'的值是? – berna1111
這只是一個例子,它不是代碼中我的形象。否紅色區域內的值不是NaN的 –
您想要着色的方法或基礎是什麼?對於漸變映射,您需要處理最小值和最大值,在某些情況下還需要處理值分佈(以便您可以選擇線性映射或非線性映射)。 – Spektre