Minimum skip_frames() time to ensure settings take effect?

Hi,

most examples include the following line:

sensor.skip_frames(time = 2000) # Let new settings take affect.

Depending on the application, especially when waking up from deep sleep, 2000 ms is a long time.

What would be the minimum setting that still works in most cases?

And how is “works” defined, image quality?

Kind regards,
Thomas

You can find out the exact time for register updates to take effect in frames/ms or the numbers of frames to skip after wakeup from low-power/standby etc… from the sensors datasheets. This time is just a number large enough for most sensors.

1 Like

Thanks! I think the OpenMV Cam H7 Plus uses OV5640, i.e.

Searching for “ms” I find

  • “power up sequence” timing, below 30 ms, p.29
  • “settling time for register setting <300 ms” p.168

Not sure which one, but both better than 2000 ms :slight_smile:

You can use 0. We have a 300ms wait in the sensor driver to prevent corrupted image outputs. After that it’s just the auto exposure algorithm adjusting the image brightness.

1 Like

300ms wait in the sensor driver

This one, right? https://github.com/openmv/openmv/blob/master/src/omv/sensors/ov5640.c#L692

After that it’s just the auto exposure algorithm

I assume skipping this would change the image quality?

Or is auto exposure just a “filter” that could be applied later on?

Auto exposure changes the image brightness/contrast. You don’t need to wait for it. However, the 300ms is required in the driver as the camera will output very corrupted frames on resolution change.

1 Like