かなり小さなビデオでモーション検出を行っています。288x384xRGB の 56 フレーム。私はそれのコピーを 2 つ保持しているので、他の変数を含めると約 40 Mb のトップになるはずです。
さて、この行でメモリ不足エラーが発生します
output = uint8(zeros(this.videoHeight,2.*this.videoWidth,3,size(this.originalFrames,4)));
タイピング記憶レポート
>> memory
Maximum possible array: 202 MB (2.114e+08 bytes) *
Memory available for all arrays: 863 MB (9.045e+08 bytes) **
Memory used by MATLAB: 527 MB (5.526e+08 bytes)
Physical Memory (RAM): 3071 MB (3.220e+09 bytes)
* Limited by contiguous virtual address space available.
** Limited by virtual address space available.
>>
私は MATLAB は初めてですが、プログラミングはまったく初めてというわけではありません。私は何を理解していませんか?
編集 だから私はsom disp'ingをしました:
disp(this.videoHeight)
disp(2.*this.videoWidth)
disp(size(this.originalFrames,4))
生成:
288
768
54
だから、実際は私が提案したよりも小さいです...