PDA

View Full Version : Software Triggering of DFK21F04



Azeem Anwer
January 27, 2005, 18:59:49
Hello,

I am writing an application using DFK 21F04 where I intend to capture an image as quickly as possible when I want. I wrote a trial application using your callBack example which measures the time taken from grabber->snapImages(1) till the call of the callback function using QueryPerformanceCounter functions. The results of this measurement shows that in a 30 FPS RGB24 video format this time can be anything between 10 to 70 msec approximately. I understand that this is because the camera has its own image scanning cycle. When I request it to snap a picture the response time varies depending on the state where camea is at that particular instance.

This problem is very well adressed by using cameras with external triggers. I am anxiously waiting for your DMK 21BF04 camera. My question is that is there any trick of generating a software trigger using Imaging Control call fuctions which could minimize this time variation.

Regards

Azeem Anwer
January 27, 2005, 19:02:20
A small correction in my post. The frame rate is 15 FPS and not 30 FPS when RGB24 is selected.

Stefan Geissler
January 31, 2005, 15:26:14
Hello Azeem

When snapImages is called, the next complete frame, that comes through the live video stream is captured. In the worst case, snapImages() is called directly after a frame is started to be delivered. This means, that snapImages() waits until this frame has been finished and captures the next frame. The duration of this can be nearly twice of the frame rate.

Azeem Anwer
February 1, 2005, 07:03:34
Dear Stefan

What you said is absoluteley correct. My question is as to how can this duration be reduced. Any tip or trick know to you for this?

Regards

Stefan Geissler
February 1, 2005, 09:19:07
Hello Azeem ,

While you have no influence on the live stream, you can not reduce the delay. But you may try to use live pause:

You call startlive() as usual somewhere at start of your program. Then you call
SetPauseLive( true).
This means, no images are delivered.
When you want to snap an image, you call
SetPauseLive( false)
snapImages(1)
SetPauseLive( true).
I did not checked this out, so i can not say, whether it reduces the delay.