24 views (last 30 days)
dear matlab....could you please tell how to get rgb image using the function getsnapshot......could you please provide the code
Walter Roberson
Walter Roberson on 2 Dec 2011
Is it part of the requirements that the image be written out to png and that that png then be read in? Or is it only required that the snapshot be taken and the contents of the snapshot be made available in a variable _as if_ it had been read from file?

Sign in to comment.

Accepted Answer

Chandra Kurniawan
Chandra Kurniawan on 2 Dec 2011
This is the code. This code will captures images from your webcam.
clear; clc;
a = imaqhwinfo;
camera_name = char(a.InstalledAdaptors(end));
camera_info = imaqhwinfo(camera_name);
camera_id = camera_info.DeviceInfo.DeviceID(end);
resolution = char(camera_info.DeviceInfo.SupportedFormats(end));
vid = videoinput(camera_name, camera_id, resolution);
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb')
vid.FrameGrabInterval = 5;
i = 1;
while(vid.FramesAcquired <= 200)
data(:,:,:,i) = getsnapshot(vid);
i = i + 1;
vid.TimerFcn = {'stop'};
Then the rgb images will be strored in the variable 'data'.
This program will aquire data for 200 frames.
So, if you want to access frame 1, you can type 'data(:,:,:,1)'.
Try to type 'imshow(data(:,:,:,1)' in the command window when process finished.
Quratulann Ashraf
Quratulann Ashraf on 28 Feb 2020
sir i am doing video processing using getsnapshoe command in a loop. but this process is really there any other command to do so or any other way so that i dont get the lag.
looking forward for your reply

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!