FrameRate and FramePerTrigger during acquisition and writing into a video-file
Show older comments
Hi,
I don't understand how create a video-file setting the right matching between FrameRate and FramePerTrigger during image acquisition.
I write:
vid = videoinput('winvideo', 1, 'YUY2_640x480');
vid.ReturnedColorspace = 'rgb';
writerObj= VideoWriter('object.avi');
writerObj.FrameRate = 30;
open(writerObj);
set(vid,'TriggerRepeat',Inf);
vid.FramesPerTrigger = 30; %as frame rate
start(vid)
while(vid.FramesAcquired<=500) % Stop after 501 frames
data = getdata(vid,1);
imshow(data)
writeVideo(writerObj,data);
end
stop(vid)
close(writerObj)
close
but it retuns a video file a little bit faster than real motion
1 Comment
Ria Paul
on 30 Jun 2017
ds was very helpful to me..thank u..
Answers (1)
Walter Roberson
on 30 Jul 2012
0 votes
As a general statement:
Usually, provided you have enough buffer memory, then more frames you acquire per trigger, the more efficient the acquisition is -- but then of course you have more latency.
Likewise, if you acquire fewer frames per trigger, you have more acquisition overhead per frame, which can potentially lead to dropping frames.
It is worth keeping in mind that although MATLAB's builtin routines are compiled to machine code, MATLAB itself is an interpreted language, so the higher percentage of the time you are executing MATLAB statements (managing the acquisition process, triggering the acquisition, processing on smaller buffers when aggregating frames into larger buffers might be more efficient), the more likely you are to run out of time and need to drop frames; the acquisition drivers are compiled and can handle interrupts better and so on.
Categories
Find more on Image Preview and Device Configuration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!