It seems that I can not set the CCM and the Saturation at the same time.
If I enable the CCM (with setColorCorrectionMatrixEnable(true)), the saturation set with setColorSaturationBias(sat) or setColorSaturationEnable(true) and setColorSaturation(sat) dose not effect the generated image.
Is this a bug or an inherent limitation of the argus library?
may I have your pseudo-code for setting CCM (i.e. Color Correction Matrix)
how you evaluate the image quality, did you running matlab to examine the pixel saturation?
If I set request->iAutoControlSettings->setColorCorrectionMatrixEnable(true); than all generated images look the same no matter witch values I use for the saturation and / or bias.
If I set request->iAutoControlSettings->setColorCorrectionMatrixEnable(false); than the gernated images look visibly different, as expected by the given saturation.
could you please also calling Argus::ICaptureSession::repeat() to update your capture settings.
it is a convenience method that will queue a request whenever the request queue is empty and the camera is ready to accept new requests.
I can confirm that getColorSaturation return the set value and that the ICaptureMetadata of the generated images also have the right saturation values.
this is our Argus API behavior, Argus API only allow control either CCM or saturation.
for instance, we’re using unity matrix as saturation matrix if the user defined CCM is used.
This saturation value may be used to modify the color correction matrix used for processing ( setColorCorrectionMatrix), and these changes will be reflected in the color correction matrix output to the capture metadata.
The active color correction matrix used for image processing may be internally modified to account for the active color saturation value (either user-specified or automatically generated, after biasing,
From this documentation I would conclude, that both options can be used within one request.