私は、ピクセルの座標が空間充填曲線に従って1D配列に平坦化されたサイズM * Nの画像を持っています(つまり、リシェイプを使用できる古典的なラスタライズではありません)。Pythonでフラットインデックスから変形する
私は1D配列(平坦化されたイメージ)を処理し、それをM * N配列(初期サイズ)に再形成したいと考えています。
これまでのところ、私はforループでこれを行っている:
for i in range(img_flat.size):
img_res[x[i], y[i]] = img_flat[i]
xとyは、xとyピクセルであることは、私のパスのスキャンに応じて調整します。
しかし、私はコードの独自の行でこれを行う方法が不思議です。 x
とy
は寸法1と長n
のnumpyの配列である場合
vec = np.arange(0, seg.size, dtype=np.uint)
img_res[x[vec], y[vec]] = seg[vec]
はい、私の2番目の解決策よりも簡単です!私はこのヒントを常に忘れています! – floflo29