Ask Your Question

Revision history [back]

Android uses its own camera access stack and its own camera capabilities that depends from device. VideoCapture class supports some of them (listed bellow), but its support is contributed by 3rd party developed and is sill on experimental state.

Constants for Android camera properties from opencv2/highgui/highgui_c.h file:

// Properties for Android cameras
CV_CAP_PROP_ANDROID_FLASH_MODE = 8001,
CV_CAP_PROP_ANDROID_FOCUS_MODE = 8002,
CV_CAP_PROP_ANDROID_WHITE_BALANCE = 8003,
CV_CAP_PROP_ANDROID_ANTIBANDING = 8004,
CV_CAP_PROP_ANDROID_FOCAL_LENGTH = 8005,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_NEAR = 8006,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_OPTIMAL = 8007,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_FAR = 8008,

You can add exposure correction to VideoCapture class and contribute it to OpenCV via Gtihub pull request or alternatively use Java Camera. See Tutorial3-Camera Control sample, as an example of direct camera control.