summaryrefslogtreecommitdiffstats
path: root/jni/feature_stab/db_vlvm/db_image_homography.h
diff options
context:
space:
mode:
Diffstat (limited to 'jni/feature_stab/db_vlvm/db_image_homography.h')
-rw-r--r--jni/feature_stab/db_vlvm/db_image_homography.h183
1 files changed, 0 insertions, 183 deletions
diff --git a/jni/feature_stab/db_vlvm/db_image_homography.h b/jni/feature_stab/db_vlvm/db_image_homography.h
deleted file mode 100644
index 165447dd7..000000000
--- a/jni/feature_stab/db_vlvm/db_image_homography.h
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id: db_image_homography.h,v 1.2 2011/06/17 14:03:31 mbansal Exp $ */
-
-#ifndef DB_IMAGE_HOMOGRAPHY
-#define DB_IMAGE_HOMOGRAPHY
-
-
-
-/*****************************************************************
-* Lean and mean begins here *
-*****************************************************************/
-
-#include "db_framestitching.h"
-/*!
- * \defgroup LMImageHomography (LM) Image Homography Estimation (feature based)
- */
-/*\{*/
-/*!
-Solve for projective H such that xp~Hx. Prior normalization is not necessary,
-although desirable for numerical conditioning
-\param H image projective (out)
-\param x1 image 1 point 1
-\param x2 image 1 point 2
-\param x3 image 1 point 3
-\param x4 image 1 point 4
-\param xp1 image 2 point 1
-\param xp2 image 2 point 2
-\param xp3 image 2 point 3
-\param xp4 image 2 point 4
-*/
-DB_API void db_StitchProjective2D_4Points(double H[9],
- double x1[3],double x2[3],double x3[3],double x4[3],
- double xp1[3],double xp2[3],double xp3[3],double xp4[3]);
-
-/*!
-Solve for affine H such that xp~Hx. Prior normalization is not necessary,
-although desirable for numerical conditioning
-\param H image projective (out)
-\param x1 image 1 point 1
-\param x2 image 1 point 2
-\param x3 image 1 point 3
-\param xp1 image 2 point 1
-\param xp2 image 2 point 2
-\param xp3 image 2 point 3
-*/
-DB_API void db_StitchAffine2D_3Points(double H[9],
- double x1[3],double x2[3],double x3[3],
- double xp1[3],double xp2[3],double xp3[3]);
-
-/*!
-Solve for rotation R such that xp~Rx.
-Image points have to be of unit norm for the least squares to be meaningful.
-\param R image rotation (out)
-\param x1 image 1 point 1
-\param x2 image 1 point 2
-\param xp1 image 2 point 1
-\param xp2 image 2 point 2
-*/
-inline void db_StitchCameraRotation_2Points(double R[9],
- /*Image points have to be of unit norm
- for the least squares to be meaningful*/
- double x1[3],double x2[3],
- double xp1[3],double xp2[3])
-{
- double* x[2];
- double* xp[2];
- double scale,t[3];
-
- x[0]=x1;
- x[1]=x2;
- xp[0]=xp1;
- xp[1]=xp2;
- db_StitchSimilarity3DRaw(&scale,R,t,xp,x,2,1,0,1,0);
-}
-
-/*!
-Solve for a homography H generated by a rotation R with a common unknown focal length f, i.e.
-H=diag(f,f,1)*R*diag(1/f,1/f,1) such that xp~Hx.
-If signed_disambiguation is true, the points are
-required to be in front of the camera. No specific normalization of the homogenous points
-is required, although it could be desirable to keep x1,x2,xp1 and xp2 of reasonable magnitude.
-If a solution is obtained the function returns 1, otherwise 0. If the focal length is desired
-a valid pointer should be passed in f
-*/
-DB_API int db_StitchRotationCommonFocalLength_3Points(double H[9],double x1[3],double x2[3],double x3[3],
- double xp1[3],double xp2[3],double xp3[3],double *f=0,int signed_disambiguation=1);
-
-/*!
-Find scale, rotation and translation of the similarity that
-takes the nr_points inhomogenous 2D points X to Xp,
-i.e. for the homogenous equivalents
-Xp and X we would have
-\code
-Xp~
-[sR t]*X
-[0 1]
-\endcode
-If orientation_preserving is true, R is restricted such that det(R)>0.
-allow_scaling, allow_rotation and allow_translation allow s,R and t
-to differ from 1,Identity and 0
-
-Full similarity takes the following on 550MHz:
-\code
-0.9 microseconds with 2 points
-1.0 microseconds with 3 points
-1.1 microseconds with 4 points
-1.3 microseconds with 5 points
-1.4 microseconds with 6 points
-1.7 microseconds with 10 points
-9 microseconds with 100 points
-130 microseconds with 1000 points
-1.3 milliseconds with 10000 points
-35 milliseconds with 100000 points
-350 milliseconds with 1000000 points
-\endcode
-
-Without orientation_preserving:
-\code
-3 points is minimal for (s,R,t) (R,t)
-2 points is minimal for (s,t) (s,R) (R)
-1 point is minimal for (s) (t)
-\endcode
-
-With orientation_preserving:
-\code
-2 points is minimal for (s,R,t) (R,t) (s,t)
-1 point is minimal for (s,R) (R) (s) (t)
-\endcode
-\param scale (out)
-\param R 2D rotation (out)
-\param t 2D translation (out)
-\param Xp (nr_points x 2) pointer to array of image points
-\param X (nr_points x 2 ) pointer to array of image points
-\param nr_points number of points
-\param orientation_preserving
-\param allow_scaling compute scale (if 0, scale=1)
-\param allow_rotation compute rotation (if 0, R=[I])
-\param allow_translation compute translation (if 0 t = [0,0]')
-*/
-DB_API void db_StitchSimilarity2DRaw(double *scale,double R[4],double t[2],
- double **Xp,double **X,int nr_points,int orientation_preserving=1,
- int allow_scaling=1,int allow_rotation=1,int allow_translation=1);
-/*!
-See db_StitchRotationCommonFocalLength_3Points().
-\param H Image similarity transformation (out)
-\param Xp (nr_points x 2) pointer to array of image points
-\param X (nr_points x 2) pointer to array of image points
-\param nr_points number of points
-\param orientation_preserving
-\param allow_scaling compute scale (if 0, scale=1)
-\param allow_rotation compute rotation (if 0, R=[I])
-\param allow_translation compute translation (if 0 t = [0,0]')
-*/
-inline void db_StitchSimilarity2D(double H[9],double **Xp,double **X,int nr_points,int orientation_preserving=1,
- int allow_scaling=1,int allow_rotation=1,int allow_translation=1)
-{
- double s,R[4],t[2];
-
- db_StitchSimilarity2DRaw(&s,R,t,Xp,X,nr_points,orientation_preserving,
- allow_scaling,allow_rotation,allow_translation);
-
- H[0]=s*R[0]; H[1]=s*R[1]; H[2]=t[0];
- H[3]=s*R[2]; H[4]=s*R[3]; H[5]=t[1];
- db_Zero2(H+6);
- H[8]=1.0;
-}
-/*\}*/
-#endif /* DB_IMAGE_HOMOGRAPHY */