我正在对一个相当小的视频进行运动检测。56 帧 288x384xRGB。我保留了它的两份副本,所以它应该达到大约 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 新手,但对编程并不陌生。我不明白什么?
编辑 所以我做了一些处理:
disp(this.videoHeight)
disp(2.*this.videoWidth)
disp(size(this.originalFrames,4))
产生:
288
768
54
所以,它实际上比我建议的要小......