How to capture video from webcam in MATLAB?

12 visualizaciones (últimos 30 días)
Nayana  Hammini
Nayana Hammini el 13 de Dic. de 2015
Respondida: Walter Roberson el 13 de Dic. de 2015
vid = videoinput('winvideo',1, 'YUY2_320x240');
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb');
% vid.FrameRate =30;
vid.FrameGrabInterval = 1; % distance between captured frames
start(vid)
aviObject = avifile('myVideo.avi'); % Create a new AVI file
for iFrame = 1:100 % Capture 100 frames
% ...
% You would capture a single image I from your webcam here
% ...
I=getsnapshot(vid);
%imshow(I);
F = im2frame(I); % Convert I to a movie frame
aviObject = addframe(aviObject,F); % Add the frame to the AVI file
end
aviObject = close(aviObject); % Close the AVI file
stop(vid);
For this code I'm getting error saying
Error using avi
Unexpected Error. Reason: Failed to open file.
Error in avifile (line 175)
aviobj.FileHandle = avi('open',filename);
Error in capture_vid (line 11)
aviObject = avifile('myVideo.avi'); % Create a new AVI file
My matlab version is R2012a
Videos captured from my webcam are stored with .mp4 format. Please help me to capture videos from webcam using MATLAB code. Thank u

Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Dic. de 2015
Use VideoWriter instead of avifile() unless you are using a version of MATLAB before R2010b.
Also watch out for the possibility that you are not in a directory that you have write access to. The directory when you start up MATLAB is often a directory where MATLAB is installed instead of being a user directory that you can write to.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by