2016-12-19 6 views
0

Iがどのように見えるカメラ(グレースケール画像)からの入力配列を有する:私はXYZのリストである出力を必要ナンシー配列(行x Cols)をXYZ座標の配列に変換する方法は?

[ 
[0.5, 0.75, 0.1, 0.6], 
[0.3, 0.75, 1.0, 0.9] 
] 

実際のサイズ= 434x512

座標:

すなわち[[X、Y、Z]、[X、Y、Z]、...]

[[0,0,0.5],[1,0,0.75],[2,0,0.1],[3,0,0.6],[0,1,0.3],[1,1,0.75],[2,1,1.0],[3,1,0.9]] 

は、Th1を行うための任意の効率的な方法があります。ナンシーを使って?ここで

+1

ご期待出力の背後にあるロジックは何ですか?それを示すための良い方法の1つは、今まで自分が試したコードで質問を更新することです。 – Kasramvd

+0

ロジックは、ピクセル強度/深度データを取り、それをpyqt 3d散布図にプロットすることです。私の試みは私を非常に遠くにさせませんでした.. – Logic1

答えて

2

はアプローチだ -

m,n = a.shape 
R,C = np.mgrid[:m,:n] 
out = np.column_stack((C.ravel(),R.ravel(), a.ravel())) 

サンプル実行 -

In [45]: a 
Out[45]: 
array([[ 0.5 , 0.75, 0.1 , 0.6 ], 
     [ 0.3 , 0.75, 1. , 0.9 ]]) 

In [46]: m,n = a.shape 
    ...: R,C = np.mgrid[:m,:n] 
    ...: out = np.column_stack((C.ravel(),R.ravel(), a.ravel())) 
    ...: 

In [47]: out 
Out[47]: 
array([[ 0. , 0. , 0.5 ], 
     [ 1. , 0. , 0.75], 
     [ 2. , 0. , 0.1 ], 
     [ 3. , 0. , 0.6 ], 
     [ 0. , 1. , 0.3 ], 
     [ 1. , 1. , 0.75], 
     [ 2. , 1. , 1. ], 
     [ 3. , 1. , 0.9 ]]) 

In [48]: out.tolist() # Convert to list of lists if needed 
Out[48]: 
[[0.0, 0.0, 0.5], 
[1.0, 0.0, 0.75], 
[2.0, 0.0, 0.1], 
[3.0, 0.0, 0.6], 
[0.0, 1.0, 0.3], 
[1.0, 1.0, 0.75], 
[2.0, 1.0, 1.0], 
[3.0, 1.0, 0.9]] 
関連する問題