Reduce the snapshot time

Hey,
I am using Arduino Nicla Vision Board. The board when attached to OpenMV IDE takes about 46 milliseconds(around FPS of 21) to capture one image with a resolution of QVGA with default setting related to the sensor(autoexposure, shutter speed). So,

  1. Is there a way to speed this up?
  2. Is there any other method apart from sensor.snapshot() using which we can capture images?

Update:
I tried setting the auto-exposure off and tried using IOCTL, but it gives a runtime error stating that the requested operation is not supported by the camera sensor. Can these operations be supported somehow?

We just haven’t optimized that camera sensor driver yet. It’s a todo item. If you want you can manually do register reads/writes in the mean-time to speed it up. The datasheet however for it is very basic and doesn’t have much info.

@kwagyeman could you please explain how to proceed with doing register read/ write manually? Or if possible could I be involved in optimizing the sensor driver in some way? I will be really enthusiastic about trying that out!

Hi, this is the best I could do with the available datasheet for this sensor, the missing controls will likely never be implemented. If you reduce the resolution to QQVGA it will use a smaller readout window and you’ll get a faster FPS. Also you can write regs with sensor.__write_reg(addr, value) and read with sensor.__read_reg(addr).

I can give it a shot soon. Updating documentation right now.

I’d also be interested in some low level access to the Nicla Vision camera. I have an application that requires an image read every 3.3ms at a minimum. Don’t know if that’s going to be possible.

I think this is the datasheet for the camera.

Can you make a bug tracker for this on github? I’m going to work on OpenMV over the 4th of july weekend.

Hi! Bumping this to see if there’s any word on optimizing that camera sensor driver yet?

I’m back to work on OpenMV. Day job stress is reducing. I can work on this over the week.