私はこのような測定データを持つテキストファイルを持っています。イメージの座標にある値
x y z
1 3 -2
2 1 -3
3 1 1
2 2 3
1 2 2
2 3 0
これは(X上、Yグリッド)以下の測定を意味するであろう
-2 0
2 3
-3 1
私は測定画像が透明であることを意味しないだろう、これらの値から画像を作成します。可能であれば、z値(例えば-9.4から+3.2まで)をcolormap.jetのようなカラーマップにマップしたいと思います。
私はPythonイメージライブラリとputpixelを使ってこれを試みましたが、これは非常にです遅く、私はこれを行うより良い方法がなければならないと確信しています。
私の現在のコード: basePathを= os.path.dirname(os.path.realpath(ファイル))#は、現在のファイルが srcFiles = glob.glob( '* PTS')を常駐するディレクトリを定義しますsrcFilesでのファイル名の
:
data = pd.read_csv(os.path.join(basePath, fileName), names=['x', 'y', 'z'], delim_whitespace=True)
print fileName
maxX = data.x.max()
minX = data.x.min()
maxY = data.y.max()
minY = data.y.min()
minZ = data.z.min()
maxZ = data.z.max()
width = maxX-minX
height = maxY-minY
img = Image.new('L', (int(width), int(height)))
for x in range(int(width)):
for y in range(int(height)):
value = data[(data['x'] == (minX+x)) & (data['y'] == (minY+y))]['z']
if len(value) == 0:
value = 99.;
img.putpixel((x,y),int(value))
img.save('test.png')