Video frame selection

C
Colm · Feb 24, 2022 · 2K views
Question
I'm sure this has an easy answer but if I set a trigger to capture 2 frames how can I independently assign '[vid,1]' and '[vid,2]' as variables? My reason for doing this is to subtract one image from another (and then divide the qualitative noise. 2 to the power of 0.5, Dark current calculations).   vid = videoinput('gige', 1, 'Mono16'); src = getselectedsource(vid); vid.FramesPerTrigger = 2; start(vid);  
Expert Answer
Profile picture of Prashant Kumar
Prashant Kumar PhD Expert
Answered Aug 24, 2026

There are a number of ways to this that are roughly equivalent. By default the GETDATA command returns N frames where N is equal to the value of the FramesPerTrigger property when GETDATA is called. You could do something like:

 

data = getdata(vid);
diffFrame = data(:,:,:,2) - data(:,:,:,1);

You can also specify the number of frames that GETDATA should return:

image1 = getdata(vid, 1); % Here 1 is the number of frames to return
image2 = getdata(vid, 1);
diffFrame = image2 - image1;

Of course, you could also do:

data = getdata(vid); % Get both frames
image1 = data(:,:,:,1); % The first frame
image2 = data(:,:,:,2); % The second frame
diffFrame = image2 - image1;

 

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!