初歩的な質問で申し訳ありません。
現在下図のような2次元で勾配を表した図を用いて、3次元のマップに変換し視覚的に勾配を確認したいと思い、プログラムを作成しました。
具体的には、マップの青色の部分から赤色の部分に向けて山なりになっているグラフです。
しかしながら、マップの表示法をjetにしているため、
画像を読み込んだ後、グレースケール化しマップを表示させる過程で
どうしても黄緑色の部分が強調され、うまく勾配を表すことが出来ませんでした。
この解決策、
具体的には、青から赤に向けて、黒から白にグレースケール化する
プログラムをご教授いただきたいです。
どんな些細なことでもかまいませんのでよろしくお願いします。
Python
1from mpl_toolkits.mplot3d import Axes3D 2from matplotlib import pylab as pl 3from PIL import Image 4import numpy as np 5import pylab 6 7im = Image.open('F.png').convert('P') 8img_j = im.convert('RGB') 9image = img_j.convert('L') 10z = np.asarray(image) 11mydata = z[::1,::1] 12 13ax = fig.add_subplot(1,1,1,projection='3d') 14x,y = np.mgrid[:mydata.shape[0],:mydata.shape[1]] 15ax.plot_surface(x,y,mydata,cmap=pl.cm.jet,rstride=1,cstride=1,linewidth=0.,antialiased=False) 16ax.set_title('3DMAP') 17ax.set_zlim3d(0,200) 18 19pl.show()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。