RidgeRun AEW Library: librraew 1.1
Librraew is an auto exposure and white balance library developed by RidgeRun. It includes a set of auto exposure and white balance algorithms and structures for handle those algorithms.
There is more information at https://www.ridgerun.com/developer/wiki/index.php/RidgeRun_Auto_exposure/Auto_white_balance_library
Getting started with librraew is actually quite simple; you only need to use three functions and a handful of structures to interact with the library. The first step to use librraew is to create a new Auto Exposure / White Balance algorithm handler using the create_rraew() function whose prototype is shown below:
struct rraew *create_rraew(struct rraew_awb_configuration *awb_config, struct rraew_ae_configuration *ae_config, struct rraew_configuration *aew_config, struct rraew_sensor *sensor, struct rraew_interface *interface, struct rraew_file_descriptors *fd)
For an explanation of the parameters you can go to the documentation File Members->Functions->create_rraew().
If the create_rraew() call is successful, a handle will be returned. This handle is used by the other API functions. After create_rraew() returns, the algorithm you choose and the required hardware are initialized. Everything is ready to start the auto-image adjustments.
The auto-image adjustments are enabled by calling the run_rraew() function, whose prototype is shown below:
int run_rraew (struct rraew *aew)
This function receives as a parameter the handle returned by create_rraew(). run_rraew() retrieves the image metrics from hardware registers and executes one iteration of the selected algorithm per invocation. If you want the streaming images to be constantly adjusted by on the current image metrics, you need to execute run_rraew() in a loop with a desired time delay between function calls.
Finally, when you don't need the auto-image adjustment anymore, you have to destroy the rraew element. To accomplish this task you have to call the destroy_rraew() function passing in the rraew handle. void destroy_rraew ( struct rraew * aew)
Development License - Subject to the terms and conditions of RidgeRun's SDK license, RidgeRun hereby grants to customer a product - based, non - exclusive, non - transferable, non - sublicensable, limited, worldwide license to install and use, for internal purposes only, an unlimited number of copies of the source and object code versions.
Distribution License - Subject to the terms and conditions of RidgeRun's SDK license, RidgeRun hereby grants to customer a non-exclusive, non-transferable, non-sublicensable, limited, worldwide license to distribute RidgeRun Software in object code format only (no source code) in one product model sold by the customer.
Melissa Montero, RidgeRun
Diego Dompe, RidgeRun