peekdata help

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?

Answers (3)

Walter Roberson
Walter Roberson on 11 Mar 2012

0 votes

Possibly there simply has not been enough time for the data to arrive. Try adding a small pause()

1 Comment

Oliver
Oliver on 11 Mar 2012
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);

Sign in to comment.

Image Analyst
Image Analyst on 11 Mar 2012

0 votes

Try getsnapshot() instead. See if that works.
Oliver
Oliver on 11 Mar 2012

0 votes

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!

Asked:

on 11 Mar 2012

Community Treasure Hunt

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

Start Hunting!