read videos in Matlab

4 次查看(过去 30 天)
Hi Guys
I wantt help fpr following code instade of reading the frames of videos i want to read video as normal playing
load('Detector.mat');
vidReader = VideoReader('004.avi');
vidPlayer = vision.DeployableVideoPlayer;
i = 1;
results = struct('Boxes',[],'Scores',[]);
while(hasFrame(vidReader))
I = readFrame(vidReader);
step(vidPlayer,I);
i = i+1;

采纳的回答

Subhadeep Koley
Subhadeep Koley 2019-11-5
Hi, your code is almost correct only you have add some pause() between every frame otherwise you won’t be able to see all the frames. The pause time should be ideally 1/FrameRate for viewing the video in its original speed. Refer to the code below.
vidReader = VideoReader('rhinos.avi'); % Read your video here
vidPlayer = vision.DeployableVideoPlayer;
while(hasFrame(vidReader))
I = readFrame(vidReader);
step(vidPlayer,I);
pause((1/vidReader.FrameRate)); % pause of value (1/FrameRate)
end
Or else if you only want to play the video you can use the function implay().
implay('rhinos.avi'); % Read your video here
And hit the ‘Play’ button.
Hope this helps!
  3 个评论
Subhadeep Koley
Subhadeep Koley 2019-11-5
In your code, the variable vidReader.FrameRate contains the frame rate of the video read by VideoReader.
Abdussalam Elhanashi
编辑:Abdussalam Elhanashi 2019-11-5
Hi Subhadeep Koley thanks for your comment how can i calculate the frame rate per second for object detection when i play the video because when i got the deployable video player it does not show f / s

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by