前提・実現したいこと
このような勾配を表した2次元の図を用いて、3次元のマップを作成したいと考えています。
(グラフの青色の部分から赤色の部分に向けて山なり)
初歩的な質問になってしまい申し訳ありませんが、よろしければご教授ください。
該当のソースコード
Python
1from mpl_toolkits.mplot3d import Axes3D 2from matplotlib import pylab as pl 3from PIL import Image 4import numpy as np 5import pylab 6 7img = Image.open('rei.jpg').convert('L') 8z = np.asarray(im_gray) 9print(np.shape(z)) 10mydata = z[::1,::1] 11fig = pl.figure(facecolor='w') 12ax1 = fig.add_subplot(1,2,1) 13im = ax1.imshow(mydata,interpolation='nearest',cmap=pl.cm.jet) 14ax1.set_title('2D') 15 16ax2 = fig.add_subplot(1,2,2,projection='3d') 17x,y = np.mgrid[:mydata.shape[0],:mydata.shape[1]] 18ax2.plot_surface(x,y,mydata,cmap=pl.cm.hot,rstride=1,cstride=1,linewidth=0.,antialiased=False) 19ax2.set_title('3D') 20ax2.set_zlim3d(0,100) 21pl.show()
試したこと
画像の表示をjetを用いることで勾配が表現されるのではないかと考えましたが、画像を読みこむ段階でconvertを用いて
グレースケールにしているため、図中の赤でも青でもない(黄緑色)部分が勾配としてうまく表現されませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。