@Override public boolean generate(List<AssociatedPair> dataSet, Homography2D_F64 model ) { if( !alg.process(dataSet,H) ) return false; UtilHomography.convert(H,model); return true; }
@Override public boolean fitModel(List<AssociatedPair> dataSet, Homography2D_F64 initial, Homography2D_F64 found) { if( !alg.process(dataSet,H) ) return false; UtilHomography.convert(H,found); return true; }
public boolean generate(List<AssociatedPair> pairs, Homography2D_F64 H) { if( !alg.process(pairs.get(0),pairs.get(1),pairs.get(2)) ) return false; UtilHomography.convert(alg.getHomography(),H); return true; }
/** * Estimate the plane's normal and the distance from the plane. From the set of matched pairs a homography * is estimated. The homography is then decomposed to find the camera baseline and a description of the plane. * The decomposition generates several hypotheses, but only the one which is the best match to the known camera * baseline is used. */ private boolean estimatePlane(List<AssociatedPair> matches) { // RANSAC to find best homography if( !robustH.process(matches) ) return false; DenseMatrix64F Hd = UtilHomography.convert(robustH.getModelParameters(), (DenseMatrix64F) null); selectBest.process(Hd,true); return true; }
UtilHomography.convert(H_refined, transformHomography.getModel());