diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-09-30 13:35:04 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-09-30 13:35:04 +0400 |
commit | 2ddbb5d1e1a15978c3bcaaa580738195be59642b (patch) | |
tree | 3b6e4124e02b13b4425668602888e74275a6e4cf /extern/libmv/libmv-capi_stub.cc | |
parent | 61161bf869b8b68b96b5b3fc6f787c6335351341 (diff) |
Fix for plane track jittering
Jittering was caused by homography not being estimated
accurate enough.
Before this, only algebraic estimation was used, which
is indeed not so much great, Now use algebraic estimation
followed with refinement step using Ceres minimizer.
The code was already there since keyframe selection patch,
made such estimation a generic function in multiview/ and
changed API for estimation in order to pass all additional
options via an options structure (the same way as it's
done fr Ceres).
This includes changes to both homography and fundamental
estimation.
TODO:
- Need to document Ceres functors better.
- Need to support homogeneous coordinates (currently
only euclidean coords are supported).
Diffstat (limited to 'extern/libmv/libmv-capi_stub.cc')
-rw-r--r-- | extern/libmv/libmv-capi_stub.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extern/libmv/libmv-capi_stub.cc b/extern/libmv/libmv-capi_stub.cc index 4896f4c6949..e6d3753961b 100644 --- a/extern/libmv/libmv-capi_stub.cc +++ b/extern/libmv/libmv-capi_stub.cc @@ -277,8 +277,8 @@ void libmv_cameraIntrinsicsInvert(const libmv_CameraIntrinsicsOptions *libmv_cam *y1 = (y - principal_y) / focal_length; } -void libmv_homography2DFromCorrespondencesLinear(double (* /* x1 */)[2], double (* /* x2 */)[2], int /* num_points */, - double H[3][3], double /* expected_precision */) +void libmv_homography2DFromCorrespondencesEuc(double (* /* x1 */)[2], double (* /* x2 */)[2], int /* num_points */, + double H[3][3]) { memset(H, 0, sizeof(double[3][3])); H[0][0] = 1.0f; |