dear matlab....could you please tell how to get rgb image using the function getsnapshot......could you please provide the code

2 comentarios

Robert Cumming
Robert Cumming el 2 de Dic. de 2011
what have "you" tried.
You will learn more doing it that way (and get better help here) rather than just asking for code...
Walter Roberson
Walter Roberson el 2 de Dic. de 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?

Iniciar sesión para comentar.

 Respuesta aceptada

Chandra Kurniawan
Chandra Kurniawan el 2 de Dic. de 2011

2 votos

Hello,
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;
start(vid)
i = 1;
while(vid.FramesAcquired <= 200)
data(:,:,:,i) = getsnapshot(vid);
imshow(data(:,:,:,i));
drawnow;
i = i + 1;
end
stop(vid);
flushdata(vid);
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.

6 comentarios

neenu jose
neenu jose el 2 de Dic. de 2011
sir,,i need to take only one image at a time...the image should also be a png rgb image..could you please help me
neenu jose
neenu jose el 2 de Dic. de 2011
and also....i need to read this image to a variable using imread
Image Analyst
Image Analyst el 2 de Dic. de 2011
imageArray = getsnapshot(vid);
It is a numerical array and doesn't have a format until you save it to disk with imwrite().
You don't need imread() unless you're reading an image stored in a disk file.
neenu jose
neenu jose el 3 de Dic. de 2011
k....sir thanks a lot..
neenu jose
neenu jose el 3 de Dic. de 2011
sir.....iam having one more doubt.....iam having a disparity matrix....how can i reconstruct a 3d image.......could you please help me
Quratulann Ashraf
Quratulann Ashraf el 28 de Feb. de 2020
sir i am doing video processing using getsnapshoe command in a loop. but this process is really slow...is there any other command to do so or any other way so that i dont get the lag.
looking forward for your reply
Thanks

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 2 de Dic. de 2011

Comentada:

el 28 de Feb. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by