3

I am trying to use the Tango device to capture HDR images, but no matter how I set the Tango config ISO and exposure settings, there is no apparent change in the image.

I am disabling the auto-exposure and auto-white balance and setting manual values for the ISO and Exposure time. Regardless of my settings, the colour camera images returned from onFrameAvailable always seem to be in auto mode. The measured average RGB of a given scene is the same, regardless of setting the ISO to 100, 200, 400, or 800, and the exposure to 11.1 ms or 2, 8 or 1/2 times this amount. It seems to still be in auto mode, because I point the device towards a bright window and the window appears pure white for 1 second, then the brightness drops and I can see what is outside the window.

So my Yellowstone tablet is up to date (KOT49H.150731) and I have the Turing release of the client API. I am using the C api with an app that is basically a combination of the example programs for motion tracking, depth, and augmented reality. Is the following code supposed to work?

const bool autoExposure = false;
const int32_t iso = 800;
const double exposure = 11.1*2.0;  // milliseconds

if ( TangoConfig_setBool( config_, "config_color_mode_auto", autoExposure) != TANGO_SUCCESS) {
    LOGE("config_color_mode_auto Failed");
    return false;
}

if ( TangoConfig_setInt32(config_ , "config_color_iso", iso) != TANGO_SUCCESS) {
    LOGE("config_color_iso  Failed");
    return false;
}

if ( TangoConfig_setInt32(config_ , "config_color_exp", (int32_t)::floor(exposure*1e6)) != TANGO_SUCCESS) {
    LOGE("config_color_exp  Failed");
    return false;
}

bool verifyAutoExposureState;
int32_t verifyIso, verifyExp;
TangoConfig_getBool( config_, "config_color_mode_auto", &verifyAutoExposureState );
TangoConfig_getInt32( config_, "config_color_iso", &verifyIso );
TangoConfig_getInt32( config_, "config_color_exp", &verifyExp );
LOGE( "config_colour autoExposure=%s %d %d", verifyAutoExposureState?"On" : "Off", verifyIso, verifyExp );

The reason to use the Tango API for capturing HDR on Android instead of going through the Android API is to get pose estimates along with the images.

  • Hi David, did you make sure you set up these configs before connect to Tango Service? – xuguo Oct 07 '15 at 22:00
  • Yes, I execute the above code to fill in the config_ structure properly, then pass the config_ variable to TangoService_connect(). – David MacDonald Oct 13 '15 at 14:26
  • Hi David, this is indeed a bug in the API. We have put in a fix for this. It should be fixed in the Z release. Sorry about the bug.. – xuguo Oct 15 '15 at 16:19
  • Thanks. When I test it in Z release, I will post a comment here to confirm it is fixed. – David MacDonald Oct 16 '15 at 17:37

0 Answers0