あなたの質問はあまり明確ではありません。あなたは、図の左下のパネルのような結果を得たいと考えていますが、このイメージには濃淡と緑と赤のさまざまなレベルがあります。
ご質問から、0.
(背景)、1.
(最初のオブジェクト)、2.
(2番目のオブジェクト)の3つの可能な値を持つ128x128アレイがあることをご理解いただきました。あれは正しいですか?そうであれば、本質的にあなたの質問は、3レベルと色の黒、赤、緑と離散カラーマップを作成する方法に沸騰します。ここで
は、私がどうなるのかです:
# Generate some fake data for testing
img = np.zeros((128,128)) # Background
img[:50,:50] = np.ones((50,50)) # Object 1
img[-50:,-50:] = np.ones((50,50))*2 # Object 2
#>img
#>array([[ 1., 1., 1., ..., 0., 0., 0.],
# [ 1., 1., 1., ..., 0., 0., 0.],
# [ 1., 1., 1., ..., 0., 0., 0.],
# ...,
# [ 0., 0., 0., ..., 2., 2., 2.],
# [ 0., 0., 0., ..., 2., 2., 2.],
# [ 0., 0., 0., ..., 2., 2., 2.]])
# Create a custom discret colormap
from matplotlib.colors import LinearSegmentedColormap
cmap = LinearSegmentedColormap.from_list("3colors", ['k','r','g'], N=3)
# Plot
# Don't forget to includes the bounds of your data (vmin/vmax)
# to scale the colormap accordingly
fig,ax = plt.subplots()
im = ax.imshow(img, cmap=cmap, vmin=0, vmax=2)
ax.grid(False)
cax = fig.colorbar(im)
cax.set_ticks([0,1,2])

右。あなたは私の期待通りにやった。私は良い例を見つけることができないので、私はちょうどGoogleと質問に添付されます。しかし、あなたは私の期待通りでした。おかげで – user8264
ありがとうDiziet。私はあなたのコードを使用し、それはうまくいった。色を調整する方法についてもう一度聞きたいだけです。私たちは、黄色の色をより太字に、青色をより明るく調整するオプションはありますか?あなたが赤、青、青を一緒に使用すると、青が太すぎることがわかりました。赤と黄は軽すぎます。 – user8264
(R、G、B、アルファ)フォーマット。 'cmap = LinearSegmentedColormap.from_list(" 3colors "、[(r、g、b)、(r、g、b)、(r、g、b)]、N = 3)' –