Set exposure of OV9281 camera

  1. Where did you get the camera module(s)?

  2. Model number of the product(s)?
    OV9281 1MP Global Shutter Camera for Raspberry Pi

  3. What hardware/platform were you working on?
    Raspberry Pi 3

  4. Instructions you have followed. (link/manual/etc.)
    Setting up the camera for use (was succesful):
    OV9281 1MP Global Shutter Camera for Raspberry Pi - Arducam

  5. Problems you were having?
    I need to set the exposure time to a certain level (preferably short) and keep it there. I tried observing the camera stream in a window with a simple Python-OpenCV script and then in the command line entering v4l2-ctl -c exposure = xxx, but the values have no influence on the image. Also, values entered below 427 just make the image go black.
    Adding things like cam.set(cv2.CAP_PROP_EXPOSURE, xx) to the Python script
    also has no influence, when I read out those parameters it always returns -1.0.

  6. The dmesg log from your hardware?

  7. Troubleshooting attempts you’ve made?
    see point 5

  8. What help do you need?
    I need to set the exposure time to a fixed value and keep it there, the shorter the better. Ideally, I get a rough idea to which exposure time in µs or ms the set value corresponds, but that is secondary.

So, after playing around some more, I found out that I had to activate Legacy Camera interface because my Raspberry Pi OS doesn’t show it anymore in the preference settings in the GUI. Although I could also receive and save camera images before, now the exposure settings work flawlessly.

What would still be good to know, what is the actual resulting exposure time? I can set with v4l2-ctl -c exposure = xxx values between 4 and 885, but I have no idea what that is in milliseconds. Is there any way to calculate this?