Recently I use image acquistion toolbox, the image captured is very gloomy
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
David Tarkowski
am 5 Dez. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu DALSA Sapera Hardware finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!