splitting a video into frames using image function after using mmreader to read video file...
13 ビュー (過去 30 日間)
古いコメントを表示
*I wasn't being able to bring an avi file into the workspace, so I brought the video into the MATLAB file and played it using implay...then I want to split it into its individual frames..
According to the solution by Walter Roberson on
n=size('cell.avi')
n =
1 8
for frame= 1:n
('cell.avi')(frame)=getframe;
|
But I get_ :Error: Unbalanced or unexpected parenthesis or bracket.
_
image function!!*
Now I want the individual frames as individual images, so I put: image(('cell.avi')(1).cdata) image(('cell.avi')(1).cdata) | *Error: Unbalanced or unexpected parenthesis or bracket. * *What is wrong? I've been able to load the movie, but now I can't split it into the frames using
2 件のコメント
採用された回答
Image Analyst
2011 年 10 月 18 日
Look at the help for mmreader() . . . again . . . more carefully this time. You'll see read() does not take a string, it take the movie object, and the number of the frame you want to read. So instead of
video = read('cell.avi');
you'd want
% Read from ii from movie M
oneFrame = read(M, ii);
7 件のコメント
その他の回答 (2 件)
Sean de Wolski
2011 年 10 月 17 日
n=size('cell.avi')
will say that n = [1 8] since 'cell.avi' is an eight letter long string (row vector of characters).
Here's probably closer to what you want:
M = aviread('rhinos.avi');
for ii = 1:length(M)
image(M(ii).cdata)
pause(.1)
end
10 件のコメント
Walter Roberson
2011 年 10 月 18 日
M = mmreader('cell.avi');
N = M.NumberOfFrames;
for ii = 1:N
image(M.read(ii));
pause(0.1);
end
Dimple Chawla
2012 年 4 月 17 日
hey, it really helped me too, actually i'm working on similar project like calculating difference of object property in frame such as 1st and the 20th or the last frame. Can u help on this.?? I will deftly appreciate your effort. Thanks reply asap
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!