When using external trigger, the correlation between exposure time and capture fps. And the capture time with the frame

  1. Where did you get the camera module(s)?
    Deryuan 德源科技
  2. Model number of the product(s)?
    Arducam B0332 OV9281 UVC Webcam
  3. What hardware/platform were you working on?
    window10、arduino uno
  4. Instructions you have followed. (link/manual/etc.)
  1. Problems you were having?
    I am using Arducam B0332 OV9281 UVC Webcam and taking screenshots with external trigger snapshot mode, I have some technical questions I want to ask
  • the correlation between exposure time and capture fps?
    I want to get the capture frequency with 100fps, so I trigger the external trigger every 10ms, after testing when I use opencv to set the exposure value, when my exposure value is higher than -10(0.976ms), the fps of my image will remain 50. According to the comparison table of exposure time, when I set the exposure time to -10, the exposure time is 0.976ms. If I want to capture with 100fps, my exposure time should only be less than 10ms, but it is not the case. Does this happen because when I trigger the external trigger, in addition to the exposure time, additional processing time is required, resulting in more than 10ms per frame?
  • The capture time with the frame?
    I set the exposure value to -10 (0.976ms), when I trigger the external trigger from 1000ms in the uno , will the capture time of this frame is 1000+0.976.Is this true?
  1. The dmesg log from your hardware?

  2. Troubleshooting attempts you’ve made?

  3. What help do you need?
    Hope you can answer my question.Thanks.

Here is the program I tested.

I have similar issue, but when trying to use long exposures. I have a 1Hz external trigger going into OV9281 F input. The longest exposure I can see a difference in image brighness is between -4 and -5, so seems the longest exposure is 62.5mS.

I re-created your instance, setting the external trigger to 100Hz. The longest shutter setting I can configure to get 100Hz frame rates is -11 (488uS). In free-run mode, it can stream frames at 100Hz down to -7 exposure (7.8mS), which seems correct.

I can trigger at -10 (976uS exposure) as fast as 97Hz. At 98Hz it drops down to 49Hz frame rate.

I suspect your issue may be that when in streaming mode, the MPEG compression takes some time & it cannot get the compression done and image sent prior to receiving the next trigger? Probably when streaming, the sensor may be compressing the prior frame during next frame exposure?

I looked at the Shutter out thinking maybe it was defaulting to a long LED trigger interval, but seems that isn’t enabled at all as it is always a DC ‘high’ output.

I reduced image size (with presumably reduced MPEG complexity) and got the same maximum frame rate results- i.e. max of 97Hz at -10 exposure setting.

Would be great if Arducam person could respond with how to get the camera to shutter rates commensurate with the shutter table definition. i.e. in my case, how to get closer to a 1second exposure than 62.5mS.

FYI, I’m running AmCap.exe downloaded yesterday (10/13/22) from Arducam web site.
File Version: 0.3.0.0.9
Product Name: DirectX9.0 Sample
Product Version: 9.0

@scott

Please don’t worry, I will look at it for you during the working day.

This is a question worth exploring, possibly related to the internal working mechanism of sensitive. We will be working on it.

Hi, did you do anything to fix the problem? I have the same problem.

Hello everyone,

That is due to the difference of the OV sensor’s internel working inner.
When sensor works in streaming mode. when the first frame is read out, at the same time, the next frame
already start to exposure. So it can increase frame rate. But if working in external triigger mode.
Only when sensor detect external trigger signal, it start exposure and then read out image. In another word, it will reduce frame rate. Hope what I said will help you.
Feel free to let me know if you need more help.