Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-02-25 13:46:47 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-02-25 13:46:47 +0400
commit0479f785ca7c17e037a15286da4440724286eda4 (patch)
treec3e4d35d52bfcb8e384504ccbac937f0edfa089d /source/blender/blenkernel/intern/tracking.c
parentff6ca7dcd0ee716add093400ee119ce4e9524af0 (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.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r--source/blender/blenkernel/intern/tracking.c13
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,