Recently I use image acquistion toolbox, the image captured is very gloomy
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Recently I use image acquistion toolbox, the image captured is very gloomy, but the image in preview figure is clear bright.
% This is copyed from Image acquistion toolbox
vid = videoinput('winvideo', 1, 'I420_640x480');
src = getselectedsource(vid);
% Set video input object properties for this application.
set(vid,'TriggerRepeat',Inf);
vid.FrameGrabInterval = 1;
% Set value of a video source object property.
vid_src = getselectedsource(vid);
set(vid_src,'Tag','motion detection setup');
preview(vid);
% Create a figure window.
figure;
% Start acquiring frames.
start(vid)
% display it.
while(vid.FramesAcquired<=100) % Stop after 100 frames
frame = getsnapshot(vid);
imshow(frame); %%This is used to show the snapshot, very gloomy
end
stop(vid)
closepreview(vid)
0 Commenti
Risposta accettata
David Tarkowski
il 5 Dic 2012
You're trying to display an image in the YCbCr color space (that's what the I420 in your videoinput line means) with a function that is expecting RGB data.
If you do:
vid = videoinput('winvideo', 1, 'I420_640x480');
vid.ReturnedColorSpace = 'RGB';
then the toolbox will convert the data to RGB data when you call getsnapshot or getdata. If you actually want the YCbCr data you can omit changing the ReturnedColorSpace property and instead convert the data before displaying it:
frame = getsnapshot(vid);
imshow(ycbcr2rgb(frame));
0 Commenti
Più risposte (0)
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!