@Override public void beforeUpdate(MBFImage image) { final FImage greyFrame = Transforms.calculateIntensityNTSC(image); if (needsReset()) { tracker.selectGoodFeatures(greyFrame); } else { fl2 = fl1.clone(); tracker.trackFeatures(oldFrame, greyFrame); tracker.replaceLostFeatures(greyFrame); final List<Pair<Point2d>> corres = new ArrayList<Pair<Point2d>>(); for (int i = 0; i < fl1.features.length; i++) { final Feature p = fl2.features[i]; final Feature c = fl1.features[i]; if (c.val == 0) { corres.add(new Pair<Point2d>(p, c)); } } try { final RobustFundamentalEstimator rfe = new RobustFundamentalEstimator(0.35, FundamentalRefinement.SAMPSON); rfe.fitData(corres); rfe.getModel().getF().print(5, 5); } catch (final Exception e) { } } fl1.drawFeatures(image); this.oldFrame = greyFrame; this.firstFrame = false; }
@Override public void beforeUpdate(MBFImage image) { final FImage greyFrame = Transforms.calculateIntensityNTSC(image); if (needsReset()) { tracker.selectGoodFeatures(greyFrame); } else { fl2 = fl1.clone(); tracker.trackFeatures(oldFrame, greyFrame); tracker.replaceLostFeatures(greyFrame); final List<Pair<Point2d>> corres = new ArrayList<Pair<Point2d>>(); for (int i = 0; i < fl1.features.length; i++) { final Feature p = fl2.features[i]; final Feature c = fl1.features[i]; if (c.val == 0) { corres.add(new Pair<Point2d>(p, c)); } } try { final RobustFundamentalEstimator rfe = new RobustFundamentalEstimator(0.35, FundamentalRefinement.SAMPSON); rfe.fitData(corres); rfe.getModel().getF().print(5, 5); } catch (final Exception e) { } } fl1.drawFeatures(image); this.oldFrame = greyFrame; this.firstFrame = false; }