假设一个256灰度图像
如何修改颜色贴图灰色plt.cm使给定灰度值的像素以给定颜色(红色、蓝色…)显示。例如,如何将值为1的像素设置为红色,将值为2的像素设置为绿色?在
{我知道。但在这个例子中,似乎只能设置一种颜色。在
我尝试生成自定义cmap“agrey”(失败):
## try to make a custom cmap
Ngrey = 256
a = np.linspace(0,1,num=Ngrey, endpoint=True)
A = np.array((a,a,a)).transpose()
#Set pixel with greylevel=1 to red
A[1,1:3]=0
col_dict = {'red':A,'green':A, 'blue':A}
print col_dict['blue'].shape
agrey = LinearSegmentedColormap('mygray', col_dict)
不管怎样,在处理离散灰度时,您可以使用
LinearSegmentedColormap
,而不是使用ListedColormap
,在这里定义256个灰色值,然后覆盖要着色的值。下面是一个随机图片的最小示例:结果如下:
在
Python 3.5
上测试相关问题 更多 >
编程相关推荐