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
path: root/extern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-02-26 15:46:38 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-02-26 15:46:38 +0400
commit0ec75be1c6c166d97dfb713169e381977df1da21 (patch)
treea76f6dfd57dc5a2e6390a9a2b98eb916d3fc93f1 /extern
parent05a5cbbda2287ce89bbd3ce370008aabb319913f (diff)
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.
Diffstat (limited to 'extern')
-rw-r--r--extern/libmv/libmv-capi.cpp4
-rw-r--r--extern/libmv/libmv/simple_pipeline/bundle.cc3
2 files changed, 6 insertions, 1 deletions
diff --git a/extern/libmv/libmv-capi.cpp b/extern/libmv/libmv-capi.cpp
index 945bc0c879e..4d6b35b91f8 100644
--- a/extern/libmv/libmv-capi.cpp
+++ b/extern/libmv/libmv-capi.cpp
@@ -437,7 +437,9 @@ int libmv_refineParametersAreValid(int parameters) {
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,
diff --git a/extern/libmv/libmv/simple_pipeline/bundle.cc b/extern/libmv/libmv/simple_pipeline/bundle.cc
index 0dd930a5ceb..7502ca389c4 100644
--- a/extern/libmv/libmv/simple_pipeline/bundle.cc
+++ b/extern/libmv/libmv/simple_pipeline/bundle.cc
@@ -208,6 +208,9 @@ void BundleIntrinsicsLogMessage(int bundle_intrinsics) {
} 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.";
}