I’ve modified a Raspberry Pi HQ camera to work with my Nano using the RidgeRun instructions and drivers. I’ve also removed the IR filter, as I’ll be recording at night.
Everything appears to work fine, except that I can’t seem to adjust the settings to match the Raspberry Pi camera output.
On the Raspberry Pi (white balance setting ‘greyworld’), my test images of toys look like this:
But (ignoring the resolution difference), on the Nano, they look much lower contrast:
The lighting is exactly the same (infrared LEDs), as are the camera and lens. So, it’s definitely the settings that are the issue.
I’ve successfully modified the saturation using:
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID saturation=0 ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvoverlaysink
But, changing white balance
wbmode values in the same way has no apparent effect:
gst-launch-1.0 nvarguscamerasrc sensor-id=0 wbmode=0 ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30" ! nvvidconv ! nvoverlaysink
I’ve also tried using
videobalance to adjust brightness and contrast e.g.:
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID saturation=0 ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! videobalance contrast=1.5 brightness=-0.3 ! nvvidconv ! nvoverlaysink
But just get an
erroneous pipeline error:
WARNING: erroneous pipeline: could not link nvarguscamerasrc0 to videobalance0, videobalance0 can't handle caps video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)60/1
Is it possible to control the camera’s output on the Nano, so I can match it to what I was getting from the Raspberry Pi? And if yes, how can I do it (please bear in mind I’m a relative novice)?