If your required rate was any slower than this, I'd recommend just starting the software on the external trigger, rather than the wiring it to the camera. But the camera takes a few hundred ms to start up, so the latency might be a bit too high.We are aiming to take about 2 pictures per second, if we can get more its better, but that depends on other factors. If it is easier to just selectively take out single frames from a constant stream (where I still have no Idea on where to get this to work on my pi) it is also possible.
Selecting frames from a continuous stream sounds feasible. I can think of two approaches. One is to sit in a loop, continually capturing images or arrays (to avoid building up a backlog), but don't process or save them unless a GPIO-based trigger signal is detected. Another possible approach might be to wait for the trigger signal first, then call capture_request(flush=True).
With an externally-triggered camera, to avoid dropping the first few frames, you need to fix the exposure, gain and WB gains. Then again sit in a loop capturing images; this time save or process each one. The important thing is to call start() before the first trigger pulse is expected.
Statistics: Posted by njh — Fri Jun 27, 2025 9:47 am