georegression.fitting.se
Class MotionSe2PointSVD_F32
- java.lang.Object
-
- georegression.fitting.se.MotionSe2PointSVD_F32
-
- All Implemented Interfaces:
- MotionTransformPoint<Se2_F32,Point2D_F32>
public class MotionSe2PointSVD_F32 extends java.lang.Object implements MotionTransformPoint<Se2_F32,Point2D_F32>
Finds the rigid body motion which minimizes the different between the two sets of associated points in 2D. The rotation is computed from the SVD of a cross correlation matrix.
The mean square error function that is minimized is:
f(p) = (1/N) sum( i=1:N , ||x_i - R(theta)*p_i + T||2 )
where theta is the angle of rotation and T is the translation, x is the set of 'to' points and p is the set of 'from' points.Based upon the sketch of Arun et al. 1987 provided in: D.W. Eggert, A. Loruso, R.B. Fisher, "Estimating 3-D Rigid Body Transformation: A Comparison of Four Major Algorithms" Machine Vision and Applications 1997
-
-
Constructor Summary
Constructors Constructor and Description MotionSe2PointSVD_F32()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intgetMinimumPoints()Minimum number of points required to compute a model.Se2_F32getTransformSrcToDst()Returns the estimated motion from the 'from' coordinate system into the 'to' coordinate system.booleanprocess(java.util.List<Point2D_F32> srcPts, java.util.List<Point2D_F32> dstPts)Processes the sets of corresponding points and finds a transformation which when applied to 'srcPts' will minimize the difference with the 'dstPts'.
-
-
-
Method Detail
-
getTransformSrcToDst
public Se2_F32 getTransformSrcToDst()
Description copied from interface:MotionTransformPointReturns the estimated motion from the 'from' coordinate system into the 'to' coordinate system.- Specified by:
getTransformSrcToDstin interfaceMotionTransformPoint<Se2_F32,Point2D_F32>- Returns:
- motion
-
process
public boolean process(java.util.List<Point2D_F32> srcPts, java.util.List<Point2D_F32> dstPts)
Description copied from interface:MotionTransformPointProcesses the sets of corresponding points and finds a transformation which when applied to 'srcPts' will minimize the difference with the 'dstPts'.- Specified by:
processin interfaceMotionTransformPoint<Se2_F32,Point2D_F32>- Parameters:
srcPts- The points which are to be transformed. Not modified.dstPts- The points that are being compared against. Not modified.- Returns:
- true if the computation successfully produced a solution and false if not.
-
getMinimumPoints
public int getMinimumPoints()
Description copied from interface:MotionTransformPointMinimum number of points required to compute a model.- Specified by:
getMinimumPointsin interfaceMotionTransformPoint<Se2_F32,Point2D_F32>- Returns:
- The number of points required to compute a model.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG