I am working with Jetson nano and Rpi camera V2. I am getting the camera stream using gst-launch and nvgstcapture. Both are working good. I can also set few parameters using these commands too.
But I am looking for some C++ libraries inorder to set all Rpi camera parameters. The complete camera parameters are available in the following link
Please let me know if there is any library/tools available to for this purpose.
I am also interested in what controls can be adjusted. I currently use v4l2-ctrl to set exposure an sensor_mode, but these control options are limited.
I am having trouble with the camera gain winding up in dark environments and causing lots of noisy pixels. I would like to set some additional manual control to this camera, but these options do not seem to be exposed.
I was hoping that some more options may be available, I specifically found that there are some I2C registers that can control the analogue or digital gain of this sensor.
Is there any way to set/control these setting on the camera?
v4l2-ctl only support the control that the sensor can support like gain/exposure/frame rate
You can check with v4l2-ctl --all to find all of those control can support.
Others feature must depend on argus API.
You can set the exposure using
v4l2-ctl --set-ctrl exposure=8000
You can see the full list using:
v4l2-ctl --list-ctrls
But many are read only, so the actual list of parameters is minimal.
The gain is automatically controlled by the camera, depending how light/dark the image is. I do not see any way to control this, even in the camera datasheet.
The AWB and other useful algorithms you may be used to are all done inside the rPi processor, hence the same level of options are not possible in the Jetson.
I’m also interested in hearing a bit more about this. I find it strange that there is only basic control over cameras in the libargus library. After having gone through it over the last few days, I’m surprised that NVIDIA, which specializes in graphics have a (much) less feature rich library compared to RPI.
Is libargus being worked on and are more features being implemented, or is this as good as it gets?