[問題] 請問如何高效率的讀取影像已回收

看板MATLAB作者 (魔術研究員)時間17年前 (2008/11/14 13:37), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
最近在matlab上要寫一些影像處理的程式 可是我發覺光是讀取一個AVI檔案,總共10.1 MB左右 總共1630個frame,也就是1630個 240*320*3 個uint8 光使用aviread()這個指令就花了兩分四十秒左右 我還試過mmread()這個別人自行撰寫的函數,嘗試 一次讀一個frame,處理完後,再讀另一個frame 結果速度也沒比較快 我還想說因為我只用到灰階值(8 bits),而不需要RGB(24bits) 因此只要我先將影像預先處理成灰階值後寫入文字檔 結果算起來時間也沒比較快 最後我發覺最好的方法是不要每次都重新讀取所需要的影像 而且最好先將影像存在mat檔中,以後就只要第一次先load mat檔 開發程式時就可以避免每次皆重新讀取影像檔而浪費大量時間 所有我的問題主要有二 (一)作影像讀取有更好更快速的方法嗎 (二)clear 跟 delete有何不同,help裏提到clear是將object(變數?) 從workspace裏清除,而delete是從記憶體內清礎,請問這兩者有何不同? 因為如果只是clear是可以再從記憶體裏救回來的,這樣記憶體空間不還是 被佔著,這樣clear有什麼意義呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.39.162

11/14 16:07, , 1F
clear是清除在記憶體裡變數,delete是刪除檔案和繪圖物件
11/14 16:07, 1F

11/14 16:09, , 2F
clear完救不回來吧!? 有沒有清掉可以下whos看記憶體使用情況
11/14 16:09, 2F

11/16 21:41, , 3F
試試 先宣告要存影片的變數大小及型態
11/16 21:41, 3F
文章代碼(AID): #197Gv_IM (MATLAB)
文章代碼(AID): #197Gv_IM (MATLAB)