2013-08-05 84 views
1

我在MatLab中遇到问题。我尝试阅读一段视频并播放它,但我只看了部分视频,而我无法控制帧频。在MatLab中播放视频

想法是在之后处理图像并进行实时处理,因此我无法将图像保存到文件中以便稍后创建视频。

这里是我的代码:

videoFReader = vision.VideoFileReader('movie.avi'); 
videoPlayer = vision.VideoPlayer; 
while ~isDone(videoFReader) 
    videoFrame = step(videoFReader); 
    step(videoPlayer, videoFrame); 
end 
release(videoPlayer); 
release(videoFReader); 

这部影片包含2521帧,而我只看过372个第一帧。

在此先感谢您的帮助!

编辑:这可能是一个编解码器问题?

+0

该代码实际上与'vision.VideoFileReader'帮助中给出的示例相同。我不确定这个旧方案是否有调整帧频的方法。是否有理由不使用['VideoReader'](http://www.mathworks.com/help/matlab/ref/videoreaderclass.html)类(老版本的Matlab可能没有)? – horchler

回答

1

好的,如果这可以帮助任何人,我发现64位视频编解码器是不正确的,并且是问题。看来,如果我想解决这个问题,回到MATLAB 32位是解决方案...

0

是的,你可以改变帧速率。在简单的loop;

末尾添加语句

pause(0.04); 

它会让你有每秒25帧。也尝试在matlab中使用小视频。