diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-02-25 13:46:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-02-25 13:46:47 +0400 |
commit | 0479f785ca7c17e037a15286da4440724286eda4 (patch) | |
tree | c3e4d35d52bfcb8e384504ccbac937f0edfa089d | |
parent | ff6ca7dcd0ee716add093400ee119ce4e9524af0 (diff) |
Camera tracking, minor changes:
- Fill in image dimension for camera intrinsics used for
solution refirement.
- Retrieve K3 from camera intrinsics after refining.
Shall be no functional changes, just makes things clear
and robust for further improvements.
-rw-r--r-- | source/blender/blenkernel/intern/tracking.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index f625f5c8526..807774a2643 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -2663,6 +2663,8 @@ typedef struct MovieReconstructContext { float principal_point[2]; float k1, k2, k3; + int width, height; + float reprojection_error; TracksMap *tracks_map; @@ -2723,11 +2725,13 @@ static void reconstruct_retrieve_libmv_intrinscis(MovieReconstructContext *conte &k1, &k2, &k3, &width, &height); tracking->camera.focal = focal_length; - tracking->camera.principal[0] = principal_x; + tracking->camera.principal[0] = principal_x; tracking->camera.principal[1] = principal_y / aspy; + tracking->camera.k1 = k1; tracking->camera.k2 = k2; + tracking->camera.k3 = k3; } static int reconstruct_retrieve_libmv_tracks(MovieReconstructContext *context, MovieTracking *tracking) @@ -2935,6 +2939,9 @@ MovieReconstructContext *BKE_tracking_reconstruction_context_new(MovieTracking * context->principal_point[0] = camera->principal[0]; context->principal_point[1] = camera->principal[1] * aspy; + context->width = width; + context->height = height; + context->k1 = camera->k1; context->k2 = camera->k2; context->k3 = camera->k3; @@ -3030,8 +3037,8 @@ static void camraIntrincicsOptionsFromContext(libmv_cameraIntrinsicsOptions *cam camera_intrinsics_options->k2 = context->k2; camera_intrinsics_options->k3 = context->k3; - camera_intrinsics_options->image_width = 0; - camera_intrinsics_options->image_height = 0; + camera_intrinsics_options->image_width = context->width; + camera_intrinsics_options->image_height = context->height; } static void reconstructionOptionsFromContext(libmv_reconstructionOptions *reconstruction_options, |