2017-04-16 6 views
2

多次元配列を2D画像に再形成する方法は?

(64, 1, 64, 64) 

を次のように私は、これは実際には64個のパッチに分割された1枚のグレースケール画像、64 *の64pxと各パッチである形の配列に取り組んでいます。

これを512×512ピクセルイメージに再構築する必要があります。

私は

np.reshape(arr, (512, 512)) 

もちろん、結果として得られる画像が期待されていないとして使用してみました。

どうすれば解決できますか?

答えて

4

パッチの配置方法によって異なります。しかし、あなたが試みることができる最初の事はこれは、オリジナルのゼロ番目の次元が行によるパッチの行が表示されていることを想定している、すなわち0-7が第二の左から右、8-15へのパッチの最初の行です

image.reshape(8, 8, 64, 64).swapaxes(1, 2).reshape(512, 512) 

です行など。

最初のリシェイプは、インデックスiを選択した後、軸0と1のjはi + 1行目のj + 1番目のパッチを指定します。

は今面白いビットが来る:リシェイプで軸をマージする場合:

  • のみ隣接寸法は
  • 我々ので

を分散する各ブロックの右端の軸が、すべてを組み合わせることができます現在の軸2と3がブロックの最も右のメンバーになるように、各パッチをまとめて保持したいと考えています。それがswapaxesの機能です。

今や形状は(8,64,8,64)であり、軸1と3はパッチ内の座標です。 2つのペアを組み合わせると、(8, 64 -> 512 8, 64 -> 512)が残ります。

+0

あなたはそれを釘付けにしました。ありがとうございました。それは、私がジュージットを作り変えていることを理解するのに数日かかるでしょう。:) – pepe

+0

ちょっと知識がありました;-)私はポストに少しの説明を加えます。 –

関連する問題