Tango获取内参

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a356337092/article/details/66477391

You can get the calibration.xml form tango/config/ or use API:
https://developers.google.com/tango/overview/intrinsics-extrinsics

TangoService_getCameraIntrinsics(TangoCameraId camera_id, TangoCameraIntrinsics *intrinsics)

Tips:
1.you have to call inline function TangoService_initializeLibray() before use the API.
TangoSupport_initializeLibrary(); in .cc ->

inline void TangoSupport_initializeLibrary() {
  TangoSupport_initialize(TangoService_getPoseAtTime,
                          TangoService_getCameraIntrinsics);
}   

in tango_support_api.h
2.https://developers.google.com/tango/apis/c/c-user-permissions
API calls that require Android Camera permissions

TangoService_getCameraIntrinsics
TangoService_connectOnXYZijAvailable
TangoService_connectOnFrameAvailable
TangoService_connectTextureId
TangoService_disconnectCamera

So you have to add this code to AndroidManifest.xml

 <uses-permission android:name="android.permission.CAMERA" />

Otherwise you will get a bunch of magic numbers that have not been initialized.


 TangoCameraIntrinsics color_camera_intrinsics;
  TangoErrorType err = TangoService_getCameraIntrinsics(
      TANGO_CAMERA_COLOR, &color_camera_intrinsics);
  if (err != TANGO_SUCCESS) {
    LOGE(
        "SynchronizationApplication: Failed to get the intrinsics for the color"
        "camera.");
    std::exit(EXIT_SUCCESS);
  }
  LOGI("Intrinsics: fx: %f, fy: %f, cx: %f. cy: %f, height: %d,width %d, distortion: %f, %f, %f, %f, %f",
       color_camera_intrinsics.fy, color_camera_intrinsics.fy, color_camera_intrinsics.cx,
       color_camera_intrinsics.cy,color_camera_intrinsics.height,color_camera_intrinsics.width,
       color_camera_intrinsics.distortion[0],color_camera_intrinsics.distortion[1],
       color_camera_intrinsics.distortion[2], color_camera_intrinsics.distortion[3],
       color_camera_intrinsics.distortion[4]);

猜你喜欢

转载自blog.csdn.net/a356337092/article/details/66477391