GDAL と Python を使用して画像分類の最小距離アルゴリズムを実装しようとしています。サンプル領域の平均ピクセル値を計算し、それらを配列のリスト ("sample_array") に格納した後、画像を "values" という配列に読み込みました。次のコードでは、この配列をループします。
values = valBD.ReadAsArray()
# loop through pixel columns
for X in range(0,XSize):
# loop thorugh pixel lines
for Y in range (0, YSize):
# initialize variables
minDist = 9999
# get minimum distance
for iSample in range (0, sample_count):
# dist = calc_distance(values[jPixel, iPixel], sample_array[iSample])
# computing minimum distance
iPixelVal = values[Y, X]
mean = sample_array[iSample]
dist = math.sqrt((iPixelVal - mean) * (iPixelVal - mean)) # only for testing
if dist < minDist:
minDist = dist
values[Y, X] = iSample
classBD.WriteArray(values, xoff=0, yoff=0)
大きな画像の場合、この手順には非常に時間がかかります。誰かがより速い方法を知っているかどうか尋ねたいのはそのためです。Pythonのさまざまな変数のアクセス速度についてはあまり知りません。または、誰かが私が使用できるライブラリを知っているかもしれません。前もってありがとう、マリオ