peekdata help

6 次查看(过去 30 天)
Oliver
Oliver 2012-3-11
Hi folks,
I'm having a bit of trouble with peekdata.
I have a video object created called 'vid',
I'm using
triggerconfig(vid,'manual');
start(vid);
RGBData = peekdata(vid,1);
This works fine, I get a 3d array in RGBData. But it only works in debug mode. As soon as I run it from the GUI I get...
"Warning: PEEKDATA could not return all the frames requested."
and RGBData is now empty... I can't understand why it works in debug but not when running normally.
thanks in advance, this is driving me nuts. Ollie
p.s. i'm trying to gather frames from a webcam indefinitely, is there's a better way to go about it?

回答(3 个)

Walter Roberson
Walter Roberson 2012-3-11
Possibly there simply has not been enough time for the data to arrive. Try adding a small pause()
  1 个评论
Oliver
Oliver 2012-3-11
hi, thanks for your response, i tried adding pause(5) and it still doesn't work.
I set the debug after the line RGBData = peekdata(vid,1);

请先登录,再进行评论。


Image Analyst
Image Analyst 2012-3-11
Try getsnapshot() instead. See if that works.

Oliver
Oliver 2012-3-11
Thanks, I tried getsnapshot() but found it to be too slow.
Whilst trying to figure out what was wrong I used a try;catch setup and after a couple of failed calls to peekdata(vid,1) it started working!

Community Treasure Hunt

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

Start Hunting!

Translated by