@Override public void process(GaussianOctave<MBFImage> octave) { gaussianOctave = octave; GaussianPyramidOptions<FImage> opts = new GaussianPyramidOptions<FImage>(octave.options); GaussianPyramid<FImage> gp = new GaussianPyramid<FImage>(opts); dogOctave = new FirstBandDoGOctave(gp, octave.octaveSize); dogOctave.process(octave); innerFinder.process(dogOctave); }
@Override public void process(GaussianOctave<MBFImage> octave) { gaussianOctave = octave; GaussianPyramidOptions<FImage> opts = new GaussianPyramidOptions<FImage>(octave.options); GaussianPyramid<FImage> gp = new GaussianPyramid<FImage>(opts); dogOctave = new FirstBandDoGOctave(gp, octave.octaveSize); dogOctave.process(octave); innerFinder.process(dogOctave); }
private void findAcrossScales(FImage image, InterestPointFeatureCollector<T> collector) { final OctaveInterestPointFinder<T> finder = constructFinder(); finder.setOctaveInterestPointListener(collector); final GaussianPyramidOptions<FImage> options = new GaussianPyramidOptions<FImage>(); options.setDoubleInitialImage(false); options.setInitialSigma(1.0f); options.setExtraScaleSteps(0); options.setOctaveProcessor(finder); final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image); finder.finish(); }
private void findAcrossScales(FImage image, InterestPointFeatureCollector<T> collector) { final OctaveInterestPointFinder<T> finder = constructFinder(); finder.setOctaveInterestPointListener(collector); final GaussianPyramidOptions<FImage> options = new GaussianPyramidOptions<FImage>(); options.setDoubleInitialImage(false); options.setInitialSigma(1.0f); options.setExtraScaleSteps(0); options.setOctaveProcessor(finder); final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image); finder.finish(); }
@Override public LocalFeatureList<Keypoint> findFeatures(FImage image) { OctaveInterestPointFinder<GaussianOctave<FImage>, FImage> finder = new DoGOctaveExtremaFinder(new BasicOctaveExtremaFinder(options.magnitudeThreshold, options.eigenvalueRatio)); Collector<GaussianOctave<FImage>, Keypoint, FImage> collector = new OctaveKeypointCollector<FImage>( new GradientFeatureExtractor( new NullOrientationExtractor(), new IrregularBinningSIFTFeatureProvider(options.numOriBins, options.valueThreshold), options.magnificationFactor * options.numSpatialBins )); finder.setOctaveInterestPointListener(collector); options.setOctaveProcessor(finder); GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image); return collector.getFeatures(); } }
final GaussianPyramid<FImage> gp = new GaussianPyramid<FImage>( gpo ); image.analyseWith( gp );
final GaussianPyramid<FImage> gp = new GaussianPyramid<FImage>( gpo ); image.analyseWith( gp );
final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image);
final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image);
@Override public LocalFeatureList<MinMaxKeypoint> findFeatures(FImage image) { final OctaveInterestPointFinder<GaussianOctave<FImage>, FImage> finder = new DoGOctaveExtremaFinder(new BasicOctaveExtremaFinder(options.magnitudeThreshold, options.eigenvalueRatio)); final Collector<GaussianOctave<FImage>, MinMaxKeypoint, FImage> collector = new OctaveMinMaxKeypointCollector( new GradientFeatureExtractor( new DominantOrientationExtractor(options.peakThreshold, new OrientationHistogramExtractor(options.numOriHistBins, options.scaling, options.smoothingIterations, options.samplingSize)), new SIFTFeatureProvider(options.numOriBins, options.numSpatialBins, options.valueThreshold, options.gaussianSigma), options.magnificationFactor * options.numSpatialBins )); finder.setOctaveInterestPointListener(collector); options.setOctaveProcessor(finder); final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image); return collector.getFeatures(); }
@Override public LocalFeatureList<MinMaxKeypoint> findFeatures(FImage image) { final OctaveInterestPointFinder<GaussianOctave<FImage>, FImage> finder = new DoGOctaveExtremaFinder(new BasicOctaveExtremaFinder(options.magnitudeThreshold, options.eigenvalueRatio)); final Collector<GaussianOctave<FImage>, MinMaxKeypoint, FImage> collector = new OctaveMinMaxKeypointCollector( new GradientFeatureExtractor( new DominantOrientationExtractor(options.peakThreshold, new OrientationHistogramExtractor(options.numOriHistBins, options.scaling, options.smoothingIterations, options.samplingSize)), new SIFTFeatureProvider(options.numOriBins, options.numSpatialBins, options.valueThreshold, options.gaussianSigma), options.magnificationFactor * options.numSpatialBins )); finder.setOctaveInterestPointListener(collector); options.setOctaveProcessor(finder); final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image); return collector.getFeatures(); }
protected LocalFeatureList<Keypoint> findFeaturesInternal(MBFImage image) { final OctaveInterestPointFinder<GaussianOctave<MBFImage>, MBFImage> finder = new FirstBandDoGOctaveExtremaFinder(new BasicOctaveExtremaFinder(options.magnitudeThreshold, options.eigenvalueRatio)); final Collector<GaussianOctave<MBFImage>, Keypoint, MBFImage> collector = new OctaveKeypointCollector<MBFImage>( new ColourGradientFeatureExtractor( new DominantOrientationExtractor( options.peakThreshold, new OrientationHistogramExtractor( options.numOriHistBins, options.scaling, options.smoothingIterations, options.samplingSize ) ), new SIFTFeatureProvider( options.numOriBins, options.numSpatialBins, options.valueThreshold, options.gaussianSigma ), options.magnificationFactor * options.numSpatialBins ) ); finder.setOctaveInterestPointListener(collector); options.setOctaveProcessor(finder); final GaussianPyramid<MBFImage> pyr = new GaussianPyramid<MBFImage>(options); pyr.process(image); return collector.getFeatures(); }
protected LocalFeatureList<Keypoint> findFeaturesInternal(MBFImage image) { final OctaveInterestPointFinder<GaussianOctave<MBFImage>, MBFImage> finder = new FirstBandDoGOctaveExtremaFinder(new BasicOctaveExtremaFinder(options.magnitudeThreshold, options.eigenvalueRatio)); final Collector<GaussianOctave<MBFImage>, Keypoint, MBFImage> collector = new OctaveKeypointCollector<MBFImage>( new ColourGradientFeatureExtractor( new DominantOrientationExtractor( options.peakThreshold, new OrientationHistogramExtractor( options.numOriHistBins, options.scaling, options.smoothingIterations, options.samplingSize ) ), new SIFTFeatureProvider( options.numOriBins, options.numSpatialBins, options.valueThreshold, options.gaussianSigma ), options.magnificationFactor * options.numSpatialBins ) ); finder.setOctaveInterestPointListener(collector); options.setOctaveProcessor(finder); final GaussianPyramid<MBFImage> pyr = new GaussianPyramid<MBFImage>(options); pyr.process(image); return collector.getFeatures(); }
final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image);
final GaussianPyramid<FImage> pyr = new GaussianPyramid<FImage>(options); pyr.process(image);