Where did you get the camera module(s)?
Official website
Model number of the product(s)?
B0264, Stereo ov2311
What hardware/platform were you working on?
Jetson NX, Linux version 4.9.201-tegra
I have a problem with this camera, for some reason information displayed in “v4l2-ctl -l” is different from information that I can read from registers.
For example from “v4l2-ctl -l” I can read next info: exposure 0x00980911 (int) : min=0 max=65535 step=1 default=1466 value=1000, on the other hand registers show me: Min: 5, Max: 50, Default: 30, Value: 1000.
I can write exposure beyond 50 using registers and it works.
But after reboot things become way more complicated. After reboot v4l2-ctl shows me that max exposure now is 50 and default is 30, registers show the same. And I am not able to change exposure beyond 50. It can be fixed only by physical power outage.
Also I have problem with not being able to change exposure through opencv. Code below works with other cameras, but not with this stereo camera. The only way to change exposure - is to change registers. Why?
cap = cv2.VideoCapture(0, cv2.CAP_V4L2)
cap.set(cv.CAP_PROP_EXPOSURE, 100)
Thank you for the information,
This seems to be a known problem.
I will conduct related tests recently.
After the problem is fixed, we will send you a firmware upgrade tool.
Oh, sorry, I forgot to mention that this update tool needs to be used on Nano. Do you have Jetson Nano?
If not, I can try to see if I can make it work on NX
Or you can try the following steps:
power off Jetson Xavier NX (need to unplug the power)
Connect to the power supply and turn it on
Execute the following command sudo sh -c "echo 50000> /sys/bus/i2c/devices/i2c-2/bus_clk_rate"
Thanks. Problem with weird exposure behavior fixed.
But problem with OpenCV exposure control still remains, maybe it’s just a software problem on OpenCV side, I use 4.5.2, both c++ and python have this problem.
cap = cv2.VideoCapture(0, cv2.CAP_V4L2)
cap.get(cv2.CAP_PROP_EXPOSURE) - always returns -1
cap.set(cv2.CAP_PROP_EXPOSURE, 100) - always return False / doesn't work
I currently solve this problem by writing to appropriate registers, but I wish that I will be able to do that through OpenCV (Works with other cameras).