[問題] 請教如何解決fread遇到out of memory?已回收

看板MATLAB作者時間16年前 (2008/09/05 20:56), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/2 (看更多)
因為我用labview的程式連拍250張的680*512pixels的影像 然後存成1D binary的file(.bin) 檔案大小約末166MB左右 我用以下的code去讀此檔案(xxx.bin) fid= fopen(['C:\xxx.bin']); fseek(fid, 12 , 'bof'); g=fread(fid,'int16', 'b'); 如果打開的檔案小 沒有問題 但是開的檔案比較大時 就會跑出來Out of memory 想請教版上的專家該如何解決 我同學是跟我說Matlab沒有辦法讀那麼多element的1D array 所以他建議我擷取照片時先存成2D的檔案(如xls) 然後再由xlsread去將檔案讀進來 不過因為我用labview將照片存成2D時 換成labview跳出來out of memory 所以我現在很頭大 不知道還有沒有其他建議的方法可行 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.174.26

09/07 09:36, , 1F
每次只讀需要的部分 輸出後就清掉 再接著讀下一段
09/07 09:36, 1F

09/07 09:36, , 2F
效率當然比一次讀完在一次輸出還差 不過為了不爆記憶體
09/07 09:36, 2F

09/07 09:37, , 3F
也只能這樣做了
09/07 09:37, 3F
文章代碼(AID): #18mInpoW (MATLAB)
文章代碼(AID): #18mInpoW (MATLAB)