1
我试图平移亮度(N×M的X 1个阵列)到RGB阵列(N×M个×3)。翻译亮度RGB阵列
的想法是使用RGB阵列得到一个RGBA阵列imshow()
。我正在寻找的结果与我刚刚将亮度数组提供给imshow()
的结果相同,但它使我可以控制alpha。有没有一些简单的功能来解决这个问题?
我试图平移亮度(N×M的X 1个阵列)到RGB阵列(N×M个×3)。翻译亮度RGB阵列
的想法是使用RGB阵列得到一个RGBA阵列imshow()
。我正在寻找的结果与我刚刚将亮度数组提供给imshow()
的结果相同,但它使我可以控制alpha。有没有一些简单的功能来解决这个问题?
有一些有用的东西,你可以在matplotlib用它来实现你想要的。
您可以轻松地数的集合,并给予适当的标准化和颜色表,把这些变成RGBA值:
import matplotlib.pyplot as plt
# define a norm which scales data from the range 20-30 to 0-1
norm = plt.normalize(vmin=20, vmax=30)
cmap = plt.get_cmap('hot')
有了这些,你可以做一些有用的东西:
>>> # put data in the range 0-1
>>> norm([20, 25, 30])
masked_array(data = [ 0. 0.5 1. ],
mask = False,
fill_value = 1e+20)
# turn numbers in the range 0-1 into colours defined in the cmap
>>> cmap([0, 0.5, 1])
array([[ 0.0416 , 0. , 0. , 1. ],
[ 1. , 0.3593141, 0. , 1. ],
[ 1. , 1. , 1. , 1. ]])
这是你的意思,还是你想做别的?
正是我一直在试图做...不知何故,我错过了尝试'CMAP .__ call__' – Shep 2012-08-15 08:41:44
是的,这是与使物体可调用的大问题。很高兴帮助。 – pelson 2012-08-15 17:31:08