[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54881] trunk/blender: Camera tracking: support refining radial K1, K2 only

Sergey Sharybin sergey.vfx at gmail.com
Tue Feb 26 12:46:38 CET 2013


Revision: 54881
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54881
Author:   nazgul
Date:     2013-02-26 11:46:38 +0000 (Tue, 26 Feb 2013)
Log Message:
-----------
Camera tracking: support refining radial K1, K2 only

This commits adds extra refirenment entry in the menu which is
"K1, K2" and which will apparently refine only this distortion
coefficients.

This would be useful in cases when you know for sure focal length
(which could be obtained from lens, EXIF and so) but not sure
about how good you manual calibration is.

Be careful tho, there're no internal constraints on this
coefficients so distortion model could just screw up into insane
values.

Modified Paths:
--------------
    trunk/blender/extern/libmv/libmv/simple_pipeline/bundle.cc
    trunk/blender/extern/libmv/libmv-capi.cpp
    trunk/blender/source/blender/blenkernel/intern/tracking.c
    trunk/blender/source/blender/makesrna/intern/rna_tracking.c

Modified: trunk/blender/extern/libmv/libmv/simple_pipeline/bundle.cc
===================================================================
--- trunk/blender/extern/libmv/libmv/simple_pipeline/bundle.cc	2013-02-26 11:46:27 UTC (rev 54880)
+++ trunk/blender/extern/libmv/libmv/simple_pipeline/bundle.cc	2013-02-26 11:46:38 UTC (rev 54881)
@@ -208,6 +208,9 @@
   } else if (bundle_intrinsics == (BUNDLE_FOCAL_LENGTH |
                                    BUNDLE_RADIAL_K1)) {
     LG << "Bundling f, k1.";
+  } else if (bundle_intrinsics == (BUNDLE_RADIAL_K1 |
+                                   BUNDLE_RADIAL_K2)) {
+    LG << "Bundling k1, k2.";
   } else {
     LOG(FATAL) << "Unsupported bundle combination.";
   }

Modified: trunk/blender/extern/libmv/libmv-capi.cpp
===================================================================
--- trunk/blender/extern/libmv/libmv-capi.cpp	2013-02-26 11:46:27 UTC (rev 54880)
+++ trunk/blender/extern/libmv/libmv-capi.cpp	2013-02-26 11:46:38 UTC (rev 54881)
@@ -437,7 +437,9 @@
 	                       LIBMV_REFINE_RADIAL_DISTORTION_K1   |
 	                       LIBMV_REFINE_RADIAL_DISTORTION_K2)) ||
 	       (parameters == (LIBMV_REFINE_FOCAL_LENGTH           |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K1));
+	                       LIBMV_REFINE_RADIAL_DISTORTION_K1)) ||
+	       (parameters == (LIBMV_REFINE_RADIAL_DISTORTION_K1   |
+	                       LIBMV_REFINE_RADIAL_DISTORTION_K2));
 }
 
 static void libmv_solveRefineIntrinsics(libmv::Tracks *tracks, libmv::CameraIntrinsics *intrinsics,

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-02-26 11:46:27 UTC (rev 54880)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-02-26 11:46:38 UTC (rev 54881)
@@ -2864,10 +2864,10 @@
 		flags |= LIBMV_REFINE_PRINCIPAL_POINT;
 
 	if (refine & REFINE_RADIAL_DISTORTION_K1)
-		flags |= REFINE_RADIAL_DISTORTION_K1;
+		flags |= LIBMV_REFINE_RADIAL_DISTORTION_K1;
 
 	if (refine & REFINE_RADIAL_DISTORTION_K2)
-		flags |= REFINE_RADIAL_DISTORTION_K2;
+		flags |= LIBMV_REFINE_RADIAL_DISTORTION_K2;
 
 	return flags;
 }

Modified: trunk/blender/source/blender/makesrna/intern/rna_tracking.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_tracking.c	2013-02-26 11:46:27 UTC (rev 54880)
+++ trunk/blender/source/blender/makesrna/intern/rna_tracking.c	2013-02-26 11:46:38 UTC (rev 54881)
@@ -579,6 +579,9 @@
 		{REFINE_FOCAL_LENGTH |
 		 REFINE_PRINCIPAL_POINT, "FOCAL_LENGTH_PRINCIPAL_POINT", 0, "Focal Length, Optical Center",
 		 "Refine focal length and optical center"},
+		{REFINE_RADIAL_DISTORTION_K1 |
+		 REFINE_RADIAL_DISTORTION_K2, "RADIAL_K1_K2", 0, "K1, K2",
+		 "Refine radial distortion K1 and K2"},
 		{0, NULL, 0, NULL, NULL}
 	};
 




More information about the Bf-blender-cvs mailing list