anqixu / ueye_cam

A ROS nodelet and node that wraps the driver API for UEye cameras by IDS Imaging Development Systems GMBH.
Other
60 stars 102 forks source link

Dynamically switching between auto-exposure and manual-exposure #35

Closed Changliu52 closed 8 years ago

Changliu52 commented 8 years ago

Hi Anqixu,

I am using ueye to run a monocular SLAM, which requires camera to keep constant exposure when tracking. However, I would also like the camera automatically adjust the exposure to the optimal to the current lighting condition before SLAM initialisation.

In order to achieve this, I will need the ueye_cam to do two things: 1) be aware of the suitable suitable camera exposure value: read current camera settings (exposure) when camera in automatic exposure. 2) switch between auto-exposure and manual-exposure in runtime.

Is the driver possible to do that? Or is there any better way to achieve this?

Thank you in advance.

Kind Regards,

Chang

anqixu commented 8 years ago

Hi Chang:

You can switch between manual/auto exposure modes in your code using dynamic_reconfigure's API.

Also, currently ueye_cam does not have an API for reporting the exposure setting during execution. Nevertheless, the underlying code is very straight-forward (is_Exposure(cam_handle, IS_EXPOSURE_CMD_GET_EXPOSURE, ...)), so this could be implemented as a service call.

Unfortunately I'm a bit swamped these days, but feel free to implement it and submit a pull request.

Cheers;

Anqi