Reduce the snapshot time

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?

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.