Class Zhang99DecomposeHomography
- java.lang.Object
-
- boofcv.alg.geo.calibration.Zhang99DecomposeHomography
-
public class Zhang99DecomposeHomography extends java.lang.ObjectDecomposes a homography into rigid body motion (rotation and translation) utilizing specific assumptions made inside the Zhang99 paper [1].
Let K and R be the calibration matrix and rotation matrix.
R = [ r1 , r1 , r1 ]
ri is the ith column in R.
Then compute R using the column of the homography matrix: r1 = λ*inv(K)*h1
r2 = λ*inv(K)*h2
r3 = cross(r1,r2)
t = λ*inv(K)*h3
t is the translation vector. The R computed above is only approximate and needs to be turned into a real rotation matrix.[1] Zhengyou Zhang, "Flexible Camera Calibration By Viewing a Plane From Unknown Orientations,", International Conference on Computer Vision (ICCV'99), Corfu, Greece, pages 666-673, September 1999.
-
-
Constructor Summary
Constructors Constructor and Description Zhang99DecomposeHomography()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description Se3_F64decompose(org.ejml.data.DenseMatrix64F H)Compute the rigid body motion that composes the homography matrix H.voidsetCalibrationMatrix(org.ejml.data.DenseMatrix64F K)Specifies the calibration matrix.
-
-
-
Method Detail
-
setCalibrationMatrix
public void setCalibrationMatrix(org.ejml.data.DenseMatrix64F K)
Specifies the calibration matrix.- Parameters:
K- upper triangular calibration matrix.
-
decompose
public Se3_F64 decompose(org.ejml.data.DenseMatrix64F H)
Compute the rigid body motion that composes the homography matrix H. It is assumed that H was computed usingZhang99ComputeTargetHomography.- Parameters:
H- homography matrix.- Returns:
- Found camera motion.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG