0
PythonイメージングライブラリとNumpyを使用して、ピクチャ内の特定の関心領域からピクセルデータを抽出する次のコードを実行しました。次のコードは、幅w(水平)と幅b(垂直)のマージンでカットし、マージン内のピクセルデータのみを含む新しいマトリックスを作成して、hの寸法wの複数の画像を撮ることになっています。データサイズは、単にこのプロセスを繰り返したいピクチャの数です。しかしピクチャからピクセルデータを抽出するコードのエラー
、私は、++プロンプトに戻りますが、メモ帳を使用して、コマンドプロンプトでこれを実行します。
はIndexError:インデックス982は、大きさと軸0のために範囲外にある975
私はこの問題を解決できる方法上の任意のアイデアエラー?これらの問題に対する一般的な解決策は、範囲を修正することでしたが、私の範囲(問題の領域に関する)に問題は見つかりません。ありがとう:)
def edit_data(data_size,a,b):
d = data_size
sample_file = im.open("C:\Research\data_1\sample (1).jpg")
w, h = sample_file.size
print(w,h)
gray_sample = np.zeros((d,(w-2*a),(h-2*a)))
for i in range(0, d):
file = im.open("C:\Research\data_1\sample (%d).jpg" % (i+1))
for j in range(a, (w-a)):
for k in range(b, (h-b)):
r, g, b = file.getpixel((j, k))
gray_sample[i][(j-a)][(k-b)] = (r*0.299 + g*0.587 + b*0.114)/255
return gray_sample
#test the function
a = edit_data(1, 30, 30)
print(a.size)
アドバイスありがとうございます!確かに、私は実際にgray_sample変数の数が少ない配列を宣言したときに間違いを犯しました:) –