[請益]如何把約三千張的照片存成影片

作者: ecogod (雪翎)   2017-05-25 10:22:18
大家好
我想使用Matlab把2880張png照片(每張約500kb)存成影片。
但是程式碼寫完之後,跑了平行處理,還是會把伺服器的記憶體吃光光
貌似是暫存在cell中吃的記憶體太大,導致我還沒匯入完所有照片就掰了
想請大家幫我看看程式碼如何改進比較好,謝謝
作者: YoursEver (豬是妳)   2017-05-25 11:05:00
google: appending image frames to existing avi file你的圖檔都是2048*2048左右的color image?若是灰階那就一樣大, 4096*3072*1 = 2048*2048*3我不知道你要轉成影片的目的是什麼,如果只是要連續播放寫個小function連播static image就好. 如果只是單純要變成單一一個video sequence,那麼拿其他軟體拼湊這2800張也行.沒必要要求用matlab來處理. 畢竟讀檔之後,存在記憶體裡面的是影像的raw data,故需2800*4000*3000byte若堅持用matlab,請試gpuarray,確認能否交給顯卡處理.
作者: sunev (Veritas)   2017-05-25 18:19:00
若無暫停,快倒轉需求可考慮gif格式
作者: YoursEver (豬是妳)   2017-05-25 23:37:00
如果存成gif 89a,假設壓縮率相同,那麼一次要讀一個2GB的圖檔,也是件容易讓人頭皮發麻的事. XD不如存成multiple page的TIFF; TIFF的壓縮率比gif89a好只是TIFF format要自己按next page... =_=;
作者: sunev (Veritas)   2017-05-25 23:49:00
不然就不要強求lossless,檔案可以小很多
作者: YoursEver (豬是妳)   2017-05-26 02:47:00
所以要原po說明一下需求是什麼了,單張影像的大小比4kUHDTV的一張frame還大... orz但是,站在壓縮率的立場,拿LZW-TIFF或是motion jpeg都不如直接壓成video sequence; 因此,或許比較簡單的做法是用matlab的videowriter先寫成數個video,然後再拿其他的軟體把這些短video合併成一個長video.
作者: ecogod (雪翎)   2017-06-05 17:02:00
後來我解決的矩陣的問題,謝謝大家
作者: YoursEver (豬是妳)   2017-06-06 10:22:00
所以是怎麼解決的呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com