Jetson Argus Camera settings (paramter)

Hi
@JerryChang , @ShaneCCC
I am using Jetson Nano with nvidia arguscamera lib to stream live camera feed.
The streaming pipeline runs a command with the following settings
wbmode = 1 sensor-mode=0 exposurecompensation=0.16 aelock=false,
resolution= 1920x1080, fps=60
The following parameters are adapted to stream in a daylight outdoor scene, However, the color from the images are completly messed up and appears that the issue is with whitebalance.
I tried tweaking the settings as per the available option.
I am not confident about how should i modify/or not the gainrange, ispdigitalgainrange, exposuretimerange?
Is it possible to keep the settings auto with aelock/awblock?
I tried with the auto settings but seems not working
sensor-mode is 0 , so it runs at 60fps 1920x1080

Here is a sample acquired image, the sky color looks completely weird. Itr would be great to have your suggestio

hello somdats,

is this only happened when you target the camera toward to sunlight? do you see such color shift in the indoor environment?
may I also know what’s the sensor module you’re using, is this SDR mode or WDR mode?
furthermore, please share the JetPack release version you’re used.

This happens in daylight outdoor scenarios. In the indoor environment, the images are Ok
Here is a sample image inside a room

hello somdats,

this indoor capture frames looks warm-toned results. you may change the wbmode settings in the pipeline to check capture results.
for example,

  wbmode              : White balance affects the color temperature of the photo
                        flags: readable, writable
                        Enum "GstNvArgusCamWBMode" Default: 1, "auto"
                           (0): off              - GST_NVCAM_WB_MODE_OFF
                           (1): auto             - GST_NVCAM_WB_MODE_AUTO
                           (2): incandescent     - GST_NVCAM_WB_MODE_INCANDESCENT
                           (3): fluorescent      - GST_NVCAM_WB_MODE_FLUORESCENT
                           (4): warm-fluorescent - GST_NVCAM_WB_MODE_WARM_FLUORESCENT
                           (5): daylight         - GST_NVCAM_WB_MODE_DAYLIGHT
                           (6): cloudy-daylight  - GST_NVCAM_WB_MODE_CLOUDY_DAYLIGHT
                           (7): twilight         - GST_NVCAM_WB_MODE_TWILIGHT
                           (8): shade            - GST_NVCAM_WB_MODE_SHADE
                           (9): manual           - GST_NVCAM_WB_MODE_MANUAL

Thanks.
The indoor scene is under an incandescent light source. I tried with wbmode=5, for a daylight outdoor scene, and The image looked completely yellowish ( very high brightness), unfortunately, I don’t have a saved copy.
I have kept the locks ( aelock & awblock to false).
Is it ok to tune the exposure compensation to adjust the brightness?

hello somdats,

it’s exposurecompensation for the brightness adjustment, you may also configure gainrange and exposuretimerange to do the same.
if you would like to achieve image quality under some certain scene, you may contact with sensor vendor for the image tuning supports,
thanks

I have been trying to set parameters thru gst argus pipeline. However, it appears that when I try to set the exposuretimerange, it does not take the input value:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 exposuretimerange="10000000 100000000" ! queue ! nv3dsink
While going thru the forum,s post, I found that the nvarguscamerasrc element sets the framerate to 30 fps by default,
so Does that limit the ability to set exposuretime range?
the log shows the exposure to settle down to 74ms

tis_imx290_set_exposure: exposure_time = 74, fps = 30000001
I also find a warning :
tegra_camera_update_isobw: Warning, Requested ISO BW 6250000 has been capped to VI’s max BW 2500000

Another question would be
I find the isp file @ /var/nvidia/nvcam/settings/camera_overrides.isp
Should this be removed? Does it influence the settings of the camera?

hello somdats,

there’re device tree property settings to define the sensor capability, you cannot specify the values out of that range.
for example, the max/min exposure time values.
# cat /proc/device-tree/i2c@3180000/ov5693_c@36/mode0/min_exp_time
# cat /proc/device-tree/i2c@3180000/ov5693_c@36/mode0/max_exp_time

that ISP settings is used for tune your image quality,
if you remove the file, all the IQ related settings were fall back to use default configurations.

@Jerry Chang
I am within the range of the sensor specification for exposuretime:

GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1948 x 1096 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 1948 x 1096 FR = 108,000003 fps Duration = 9259259 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 1920 x 1080 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 1920 x 1080 FR = 108,000003 fps Duration = 9259259 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 1280 x 720 FR = 90,000001 fps Duration = 11111111 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 1280 x 720 FR = 157,999998 fps Duration = 6329114 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 960 x 540 FR = 119,000005 fps Duration = 8403361 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 960 x 540 FR = 206,999995 fps Duration = 4830918 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 640 x 480 FR = 133,000000 fps Duration = 7518797 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: 640 x 480 FR = 230,000005 fps Duration = 4347826 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 15000, max 1000000000;

GST_ARGUS: Running with following settings:
** Camera index = 0 **
** Camera mode = 0 **
** Output Stream W = 1948 H = 1096 **
** seconds to Run = 0 **
** Frame Rate = 59,999999**

I can change it using argus_camera app and the changed value is also seen when I print info ( dmesg). However on running the gst launch command with nvidiaargus properties, it fails to set the value
Do you mean that the upper bound for the exposure time will be within 1/framerate .i.e considering the default 30fps, it should be around 33ms.
How would I set the exposuretime being within the range?
How would I adjust the image quality? changing the ISP parameters of the camera_overrides.isp file,

I tried to understand thru this post: