roboception/rc_genicam_api

Could you please give an example how to set camera parameters through this api?

Yumin-Sun-00 opened this issue · 5 comments

Could you give an example about how to set parameter of white balancing?

The documentation is just not enough, please update. Especially for the camera parameter settings, the genicam api seems only have network configuration tools but without camera parameter settings tools. But according to the documentation: GenICam features of the rc_visard can be read and/or changed via the GenICam interface.

White balancing can either be set to auto or manual. In the latter case you can manually specify the red to green and blue to green ratios which is described here: http://doc.rc-visard.com/latest/en/stereo_camera.html#description-of-run-time-parameters. For the GenICam Interface we use the recommended standard features for white balancing, i.e. you need to set the selector to red or blue and then set the corresponding value. Here is an example command line, using the gc_config tool from our package:

gc_config DEVICE-ID BalanceWhiteAuto=Off BalanceRatioSelector=Red BalanceRatio=1.7 BalanceRatioSelector=Blue BalanceRatio=0.9

This switches white balancing to manual, sets the red/green ratio to 1.7 and the blue/green ratio to 0.9. Does this answer your question?

Thank you. As I oberserved the white balancing at start-up the camera is perfect, but when any objects are moving before the scene, the image become more blue. Could I get the camera parameter at the status of starting-up camera, and then disable auto exp mode, and then using manually setting with the status I get by the start-up? Could you give more details about how to?

So I need to first store the camera parameters by starting-up, then use it.

Thank you very much.

Yes, when stopping auto white balancing, the last values that were determined are used for manual white balancing, which is exactly what you asked for.

Here is an example: I switch off auto white balancing with "gc_config DEVICE-ID BalanceWhiteAuto=Off" and check the values with "gc_info DEVICE-ID | grep Balance". This prints in my case:

  Enumeration: BalanceRatioSelector (RW) [Red Blue]: Blue
  Float: BalanceRatio (RW) [0.125, 8]: 1.87674 
  Enumeration: BalanceWhiteAuto (RW) [Off Continuous]: Off

Here, 1.87674 was the last blue/green ratio that was used by auto white balance and this is now used as value for manual white balance. The red/green ratio can be checked by changing the selector with "gc_config DEVICE-ID BalanceRatioSelector=Red" and then reading the values again with "gc_info DEVICE-ID | grep Balance", which gives in my case:

  Enumeration: BalanceRatioSelector (RW) [Red Blue]: Red
  Float: BalanceRatio (RW) [0.125, 8]: 1.4352 
  Enumeration: BalanceWhiteAuto (RW) [Off Continuous]: Off
flixr commented

Due to lack of activity I'm closing this issue as answered.