コード内容としては,画像の元データ(.dat)を読み込み,画像の切り取り作業を行い,
複数の条件式(cb)を通して,保存(.tif)する過程です。
エラーが出てしまい,行き詰まっているのですが,解決する方法を教えてください。
よろしくお願い申し上げます。
- コード内容
import os import sys import numpy import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm import glob from PIL import Image import PIL path = "/media/student/data1" path2 = "/media/student/data1/ir1/" path3 = "/media/student/data1/ir2/" datalist2 = glob.glob(path2 + "*.dat") datalist3 = glob.glob(path3 + "*.dat") for data2 in datalist2: name2 = data2[len(path2)+8:-4] for data3 in datalist3: name3 = data3[len(path3)+8:-4] if name2 == name3: print name2 + ".." + name3 + "..." + "OK" data2 = np.fromfile(data2,dtype=np.float32) data3 = np.fromfile(data3,dtype=np.float32) #array hai = data2.reshape(6000,6000) retu = data3.reshape(6000,6000) #area Hai1 = hai[1500:3000] Hai2 = Hai1[:,2250:4750] ir1 = Hai2 Retu1 = retu[1500:3000] Retu2 = Retu1[:,2250:4750] ir2 = Retu2 btd = ir1 - ir2 #cb (複数条件で当てはまったものは6,それ以外は0とする) cb1 = np.where((ir1 > 200) & (ir1 <= 225) & (btd > 0) & (btd <= 2),6,0) cb3 = np.where((ir1 > 200) & (ir1 <= 223) & (btd > -2) & (btd <= 0),6,0) cb = cb1 +cb3 pil_img = Image.fromarray(cb) print "cb...ok" outdata = path + "/outdata/" + name2 + ".tif" # outdata2 = path + "/outdata/" + name2 + "_1.tif" pil_img.save(outdata)
-** 実行結果(エラー表示)**
student@student:/media/student/data1$ python cb.py 20160531-2200..20160531-2200...OK Traceback (most recent call last): File "cloud1.py", line 95, in <module> pil_img = Image.fromarray(cloud) File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2153, in fromarray raise TypeError("Cannot handle this data type")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/09 05:50