Android カメラからの byte[] 配列出力について少し混乱しています。画像は基本的に 2D 配列ですが、なぜ出力は 1D だけなのですか?
バイト配列出力を取得してフーリエ変換を実行しようとしていますが、そのためには、データを 2D double 配列にする必要があります。では、カメラ出力バイト配列から 2D double 配列に取得するにはどうすればよいでしょうか?
ありがとう
Android カメラからの byte[] 配列出力について少し混乱しています。画像は基本的に 2D 配列ですが、なぜ出力は 1D だけなのですか?
バイト配列出力を取得してフーリエ変換を実行しようとしていますが、そのためには、データを 2D double 配列にする必要があります。では、カメラ出力バイト配列から 2D double 配列に取得するにはどうすればよいでしょうか?
ありがとう
1D 配列はフラット化された 2D 配列です。それを 2D 配列に変換するには、次のようなものが必要です。
double[][] array2D = new double[width][height];
for(int i = 0 ; i < array2D.length ; i++)
{
for(int j = 0 ; j < array2D[i].length ; i++)
{
array2D[i][j] = array1D[i * array2D.length + j];
}
}
幅と高さが逆になる場合があります。