我正在與Kinect合作,並試圖深入研究數據並對其進行處理。翻轉存儲在F#中的一維數組中的二維「圖像」
本質上,當我處理來自Kinect的深度框架時,我想保存2個球員和背部的前部深度數據。然後我需要翻轉後面的數據,以便它可以用來建立玩家的3D模型。
我遇到的問題是將這些數據反轉回來。
我有一個長度爲1D的數組(長度爲320 * 240 = 76800)的深度數據,我打算翻轉每行(320個陣列中的位置)來翻轉圖像。
let mutable flipped = Array.create (320*240) 0
for y=0 to 239 do
for x=0 to 319 do
let n = ((y)* 320 + x)
flipped.[n] <- depths.[(320*(y+1))-(n+1)]
System.Diagnostics.Debug.WriteLine("DepthsMax:" + Array.max(depths).ToString())
System.Diagnostics.Debug.WriteLine("FlippedMax:" + Array.max(flipped).ToString())
深度數組包含我試圖翻轉的數據,但是,此代碼使翻轉的數組完全由0組成。
任何人都可以發現我做錯了什麼嗎?
感謝
對於數組,'mutable'使基準可變的。元素是_always_ mutable。所以在這種情況下沒有必要 – Daniel
您可以用'Array.zeroCreate _'替換'Array.create _ 0'。 – Daniel
啊感謝提示傢伙,仍然試圖抓住f#!非常有用謝謝 –