作者skyzer (故事的最後...)
看板MATLAB
标题[问题] 用mmreader读影片但记忆体不足
时间Mon Jan 21 22:46:03 2013
各位板友你们好
之前有在板上问过有关Matlab该如何读wmv档的问题
板友们是推荐mmreader和VideoReader(2012版新增)这两个function
用在时间不长,或是解析度不高的影片上的话是ok
但如果影片资料过大就很容易占满记忆体
使得用影片无法读进Matlab中
想请问如果碰上这种状况时,有什麽好方法能够解决呢?
谢谢。
----------------------------------------------------------------------
*补充说明:
我的应用是这样的:先将影片读进来做处理,之後再存回影片
但我现在碰上的问题是用mmreader读进来的资料就
过大
或是
在处理过程中会导致资料量过大、记忆体不足的情况
主要不是转存的问题
所以我的疑问就在於
像这种要对影片做处理,并且还需要保持整个影片的架构的方式
如果碰上
记忆体不足的情况时
大家会建议怎麽做呢?例如:分段处理之後再合并
毕竟要把整部影片都读进来再做处理有点不太实际
谢谢。
PS.
我的後续动作是将影片转成frame,之後再做处理
因为是医学相关的应用,所以资料最好是保持原始内容,所以才用直接读档的方式
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.103.41
※ 编辑: skyzer 来自: 140.123.103.41 (01/21 22:49)
1F:推 gozelee:有软体可以直接将影片转成图片阿... 01/22 00:58
2F:→ skyzer:用软体转图片的话还要考虑转换过程是否有对data做处理 例如 01/22 01:18
3F:→ skyzer:wmv转成jpg的话因为格式不相同 转出来的data可能有经过压缩 01/22 01:19
4F:→ skyzer:而造成原始资料的丧失 为了能保持原本的资料所以才用直接读 01/22 01:20
5F:→ skyzer:的方式 01/22 01:20
6F:→ YoursEver:video本身就被压缩过; 如果只是不想再转存图档多压一次, 01/22 04:47
7F:→ YoursEver:直接把mmreader的object内的影像资料另外转存就好. 01/22 04:48
8F:→ YoursEver:matlab help里面已经附了该如何抓出单一frame的范例码. 01/22 04:49
9F:→ YoursEver:转存时可以存bmp,这样就不用担心被多压一次. 01/22 04:49
10F:→ skyzer:感谢您的回答
11F:→ skyzer:但我主要的困难比较不是在转存的部份
12F:→ skyzer:详细内容我新增在原文後面的补充说明内
13F:→ skyzer:谢谢你。
※ 编辑: skyzer 来自: 140.123.103.41 (01/22 08:44)
14F:→ YoursEver:各frame拆成bmp是没有问题的,跑多少读多少即可. 01/22 11:11
15F:→ YoursEver:再来,你要算一下你需要的memory有多少. 01/22 11:11
16F:→ YoursEver:假设你的video是320*480的mpeg-1,那麽每frame就会有 01/22 11:14
17F:→ YoursEver:320*480*3 = 460K, 若30 frame/sec, 一秒就有约14MB. 01/22 11:16
18F:→ YoursEver:如果是HD,那麽在30frame/sec下,每秒需要的memory逾100MB 01/22 11:19
19F:→ YoursEver:这样搞下去,记忆的的部分多半会无解; 转存成BMP分批读 01/22 11:19
20F:→ YoursEver:就是你说的"保持原样",若有疑问可以找video processing 01/22 11:20
21F:→ YoursEver:的相关资料去确认. 01/22 11:20
22F:→ skyzer:可是这样会有一堆bmp档说...解析度大约是1000x1000 这样弄 01/22 16:15
23F:→ skyzer:记忆体不够本来就很正常 所以才想问有没有好的处理方式呀 01/22 16:16
24F:→ skyzer:我对转bmp档没有疑问呀@@" 但输出希望是影片档或是mat 01/22 16:19
25F:→ skyzer:才想知道有没有什麽串接处理的方法 谢谢 01/22 16:20
26F:→ YoursEver:转成bmp吧. 除了花硬碟花回圈之外什麽都不花,工程上来说 01/22 16:21
27F:→ YoursEver:不容易找到比这个更方便廉价的解. 01/22 16:22
28F:推 YoursEver:看看avifile, addframe之类的东西对你有无帮助吧. :) 01/22 16:39
29F:→ skyzer:请问Y大 那转成一堆bmp档後能够结合回影片档吗? 01/22 16:41
30F:→ skyzer:那两个我会看看的 谢谢你 01/22 16:41
31F:→ YoursEver:你看完avifile的范例程式码就知道了. :) 01/22 20:53
32F:→ skyzer:原来如此 谢谢你 01/22 22:24