PDA

View Full Version : Multiple camera capture



mtatulda
July 24, 2009, 19:55:47
Hello,
I am trying to capture images from 3 cameras at once. I have 3 FW cameras attached to one chanell hence 7.5FPS. First I tried that without hw sync but it did not work very well. So I attached a generator to all three of them and set 7.5 Hz frequency. I am not doing anything else but saving the images for later processing in Matlab, so minimal processor power should be used. However, I am only getting 4.5 FPS. Am I using the callback correctly? Should there be something like snapimage or snapimageasync?

Sascha Schmidt
August 1, 2009, 14:54:12
Hello,


I am trying to capture images from 3 cameras at once. I have 3 FW cameras attached to one channel hence 7.5FPS.

What Camera model do you use?
Bandwidth specific, 3 Cameras at 7.5FPS should work up to 'UYVY (1024x768)' or 'Y800 (1280x960)'.

But saving all the JPGs, also costs performance. So in my Tests, I got nearly 7.5FPS with Y800 (640x480). But here also frame drops occurs.


I am only getting 4.5 FPS. Am I using the callback correctly?

I think using the callback is the right choice in relation to performance.
When using a trigger, set the frame rate bigger then 7.5 and make sure that the exposure time is smaller than the frame rate.

mtatulda
August 1, 2009, 16:20:09
Hello, I am using 3 DBx 31BF03 so that the maximum fps can be 7.5frames per second. However, I did not think about the exposure, must try that.
Thanks for your answer

mtatulda
August 1, 2009, 17:18:51
Ok, I checked the exposure times using the IC capture, they were all set to automatic (exposure, white balance and gain) and exposure times were set to 1/300s which shold be by far enough time between trigger pulses. I tried saving those files as BMPs and the computer menages just find, I dont think it's a cpu load problem.

Stefan Geissler
August 3, 2009, 09:51:07
Hi,

your problem is that the framhandlersink has only one image buffer. Please use at least 2 of them.

wrong:

pSink1 = FrameHandlerSink::create( eRGB24, 1);

Correct:

pSink1 = FrameHandlerSink::create( eRGB24, 3);

Additionally: you can not write 21 images per second to hard disc, because they are to slow for writing so much single files so fast.

mtatulda
August 10, 2009, 14:54:06
Tried that, did not work. About the capturing. I tried the same with snapimageasync without external triggering and there is no problem, if i say capture feed for 10 s, then I get 3*75 images. I dont know we the triggering does that. Anyway, if I increase the triggering frequency, the sampling frequency increases, but not by much. Let say I can take about 5.5fps when 30Hz trigger is fired :(