@Override protected void beforeProcess(GaussianOctave<FImage> octave) { scales = octave.options.getScales(); // the magnitude threshold must be adjusted based on the number of // scales, // as more scales will result in smaller differences between scales normMagnitudeScales = magnitudeThreshold / octave.options.getScales(); }
@Override protected void beforeProcess(GaussianOctave<FImage> octave) { scales = octave.options.getScales(); // the magnitude threshold must be adjusted based on the number of // scales, // as more scales will result in smaller differences between scales normMagnitudeScales = magnitudeThreshold / octave.options.getScales(); }
@SuppressWarnings("unchecked") @Override public void process(GaussianOctave<I> octave) { images = (I[]) Array.newInstance(octave.images[0].getClass(), options.getScales() + options.getExtraScaleSteps()); //compute DoG by subtracting adjacent levels for (int i = 0; i < images.length; i++) { images[i] = octave.images[i].clone(); images[i].subtractInplace(octave.images[i + 1]); } } }
@Override public void process(GaussianOctave<MBFImage> octave) { images = new FImage[options.getScales() + options.getExtraScaleSteps()]; //compute DoG by subtracting adjacent levels for (int i = 0; i < images.length; i++) { images[i] = octave.images[i].bands.get(0).clone(); images[i].subtractInplace(octave.images[i + 1].bands.get(0)); } } }
@Override public void process(GaussianOctave<MBFImage> octave) { images = new FImage[options.getScales() + options.getExtraScaleSteps()]; //compute DoG by subtracting adjacent levels for (int i = 0; i < images.length; i++) { images[i] = octave.images[i].bands.get(0).clone(); images[i].subtractInplace(octave.images[i + 1].bands.get(0)); } } }
@SuppressWarnings("unchecked") @Override public void process(GaussianOctave<I> octave) { images = (I[]) Array.newInstance(octave.images[0].getClass(), options.getScales() + options.getExtraScaleSteps()); //compute DoG by subtracting adjacent levels for (int i = 0; i < images.length; i++) { images[i] = octave.images[i].clone(); images[i].subtractInplace(octave.images[i + 1]); } } }
@Override public void process(GaussianOctave<FImage> octave) { for (int currentScaleIndex = 0; currentScaleIndex < octave.images.length; currentScaleIndex++) { final FImage fImage = octave.images[currentScaleIndex]; final float currentScale = (float) (octave.options.getInitialSigma() * Math.pow(2, (float) currentScaleIndex / octave.options.getScales())); detector.setDetectionScale(currentScale); detector.findInterestPoints(fImage); final List<T> points = this.selectionMode.selectPoints(detector); processOctaveLevelPoints(fImage, points, currentScale, octave.octaveSize); } }
@Override public void process(GaussianOctave<FImage> octave) { for (int currentScaleIndex = 0; currentScaleIndex < octave.images.length; currentScaleIndex++) { final FImage fImage = octave.images[currentScaleIndex]; final float currentScale = (float) (octave.options.getInitialSigma() * Math.pow(2, (float) currentScaleIndex / octave.options.getScales())); detector.setDetectionScale(currentScale); detector.findInterestPoints(fImage); final List<T> points = this.selectionMode.selectPoints(detector); processOctaveLevelPoints(fImage, points, currentScale, octave.octaveSize); } }
scales = ((GaussianPyramidOptions<IMAGE>) octave.options).getScales();
scales = ((GaussianPyramidOptions<IMAGE>) octave.options).getScales();
* (float) Math.pow(2.0, (s + fit.offset.get(0, 0)) / octave.options.getScales());
* (float) Math.pow(2.0, (s + fit.offset.get(0, 0)) / octave.options.getScales());