public Class getImageClass() { return getImageClass(family,dataType); }
public PointTrackerTwoPassKltPyramid(KltConfig config, int templateRadius , PyramidDiscrete<I> pyramid, GeneralFeatureDetector<I, D> detector, ImageGradient<I, D> gradient, InterpolateRectangle<I> interpInput, InterpolateRectangle<D> interpDeriv) { super(config, templateRadius, pyramid , detector, gradient, interpInput, interpDeriv, gradient.getDerivativeType().getImageClass()); }
public PointTrackerTwoPassKltPyramid(KltConfig config, int templateRadius , PyramidDiscrete<I> pyramid, GeneralFeatureDetector<I, D> detector, ImageGradient<I, D> gradient, InterpolateRectangle<I> interpInput, InterpolateRectangle<D> interpDeriv) { super(config, templateRadius, pyramid , detector, gradient, interpInput, interpDeriv, gradient.getDerivativeType().getImageClass()); }
public static <T extends ImageGray> T createSingleBand(ImageDataType type, int width, int height) { Class<T> typeClass = ImageType.getImageClass(ImageType.Family.GRAY, type); return (T)createSingleBand(typeClass, width, height); }
public static <T extends ImageInterleaved> T createInterleaved(ImageDataType type, int width, int height , int numBands) { Class<T> typeClass = ImageType.getImageClass(ImageType.Family.INTERLEAVED, type); return (T)createInterleaved(typeClass,width,height,numBands); }
public static <T extends ImageBase<T>> ImageBorder<T> generic( BorderType borderType, ImageType<T> imageType ) { switch( imageType.getFamily() ) { case GRAY: return single(imageType.getImageClass(),borderType); case PLANAR: return single(imageType.getImageClass(),borderType); case INTERLEAVED: return interleaved(imageType.getImageClass(),borderType); default: throw new IllegalArgumentException("Unknown family"); } }
public static <T extends ImageBase<T>> ImageBorder<T> genericValue( double value, ImageType<T> imageType ) { switch( imageType.getFamily() ) { case GRAY: return singleValue(imageType.getImageClass(), value); case PLANAR: return singleValue(imageType.getImageClass(),value); case INTERLEAVED: return interleavedValue(imageType.getImageClass(),value); default: throw new IllegalArgumentException("Unknown family"); } }
@Override public Class getImageType() { return getImage().getImageType().getImageClass(); } }
public ImageGradient_PL(ImageGradient<T, D> bandGradient , int numBands ) { this.bandGradient = bandGradient; derivType = ImageType.pl(numBands,bandGradient.getDerivativeType().getImageClass()); }
public DescribePointBriefSO(BinaryCompareDefinition_I32 definition, BlurFilter<T> filterBlur, InterpolatePixelS<T> interp) { this.definition = definition; this.filterBlur = filterBlur; this.interp = interp; Class<T> imageType = filterBlur.getInputType().getImageClass(); blur = GeneralizedImageOps.createSingleBand(imageType, 1, 1); values = new float[ definition.samplePoints.length ]; }
public DescribePointBrief(DescribePointBinaryCompare<T> describe, BlurFilter<T> filterBlur) { this.filterBlur = filterBlur; this.describe = describe; Class<T> imageType = filterBlur.getInputType().getImageClass(); blur = GeneralizedImageOps.createSingleBand(imageType, 1, 1); }
public static <T extends ImageBase<T>> InterpolatePixel<T> createPixel(double min, double max, InterpolationType type, BorderType borderType, ImageType<T> imageType) { switch( imageType.getFamily() ) { case GRAY: case PLANAR: return createPixelS(min, max, type, borderType, imageType.getImageClass()); case INTERLEAVED: return createPixelMB(min,max,type,borderType,(ImageType)imageType); default: throw new IllegalArgumentException("Unknown family"); } }
public static <T extends ImageGray> DescribePointBrief<T> brief(BinaryCompareDefinition_I32 definition, BlurFilter<T> filterBlur ) { Class<T> imageType = filterBlur.getInputType().getImageClass(); DescribePointBinaryCompare<T> compare; if( imageType == GrayF32.class ) { compare = (DescribePointBinaryCompare<T> )new ImplDescribeBinaryCompare_F32(definition); } else if( imageType == GrayU8.class ) { compare = (DescribePointBinaryCompare<T> )new ImplDescribeBinaryCompare_U8(definition); } else { throw new IllegalArgumentException("Unknown image type: "+imageType.getSimpleName()); } return new DescribePointBrief<>(compare, filterBlur); }
private void createStorage() { if( inputType.getFamily() == ImageType.Family.PLANAR ) { storage = (T)GeneralizedImageOps.createSingleBand(inputType.getImageClass(),1,1); } else { storage = inputType.createImage(1,1); } }
public static <T extends ImageGray> DescribePointBriefSO<T> briefso(BinaryCompareDefinition_I32 definition, BlurFilter<T> filterBlur) { Class<T> imageType = filterBlur.getInputType().getImageClass(); InterpolatePixelS<T> interp = FactoryInterpolation.bilinearPixelS(imageType, BorderType.EXTENDED); return new DescribePointBriefSO<>(definition, filterBlur, interp); }
/** * * @see FactoryThresholdBinary#localOtsu(boolean, ConfigLength, double, double, boolean, Class) */ public static <T extends ImageGray<T>> GrayU8 localOtsu(T input, GrayU8 output, boolean otsu2, ConfigLength width, double tuning , double scale, boolean down) { InputToBinary<T> alg = FactoryThresholdBinary.localOtsu(otsu2,width,tuning,scale,down,input.getImageType().getImageClass()); if( output == null ) output = new GrayU8(input.width,input.height); alg.process(input,output); return output; }
@Override public void processImage(int sourceID, long frameID, BufferedImage buffered, ImageBase input) { inputCopy = ConvertBufferedImage.checkCopy(buffered,inputCopy); ConfigThreshold config = controlPanel.threshold.createConfig(); InputToBinary inputToBinary = FactoryThresholdBinary.threshold(config,input.imageType.getImageClass()); inputToBinary.process(input,imageBinary); VisualizeBinaryData.renderBinary(imageBinary, false, visualizedBinary); SwingUtilities.invokeLater(() -> { controlPanel.threshold.updateHistogram((ImageGray)input); changeView(); }); }
@Override public void imageThresholdUpdated() { synchronized (this) { ConfigThreshold config = controls.getThreshold().createConfig(); inputToBinary = FactoryThresholdBinary.threshold(config, getImageType(0).getImageClass()); } reprocessImageOnly(); }
protected StitchingFromMotion2D createAlgorithm( PointTracker<I> tracker ) { if( imageType.getFamily() == ImageType.Family.PLANAR) { Class imageClass = this.imageType.getImageClass(); ImageMotion2D<I,IT> motion = FactoryMotion2D.createMotion2D(maxIterations,inlierThreshold,2,absoluteMinimumTracks, respawnTrackFraction,respawnCoverageFraction,false,tracker,fitModel); ImageMotion2D motion2DColor = new PlToGrayMotion2D(motion,imageClass); return FactoryMotion2D.createVideoStitch(maxJumpFraction,motion2DColor, imageType); } else { ImageMotion2D motion = FactoryMotion2D.createMotion2D(maxIterations,inlierThreshold,2,absoluteMinimumTracks, respawnTrackFraction,respawnCoverageFraction,false,tracker,fitModel); return FactoryMotion2D.createVideoStitch(maxJumpFraction,motion, imageType); } }
public VisualizeBinaryContourApp(List<String> exampleInputs, ImageType<T> imageType) { super(exampleInputs, imageType); guiImage = new VisualizePanel(); guiImage.setPreferredSize(new Dimension(800,800)); add(BorderLayout.WEST, controls); add(BorderLayout.CENTER, guiImage); ConfigThreshold config = controls.getThreshold().createConfig(); inputToBinary = FactoryThresholdBinary.threshold(config,imageType.getImageClass()); contourAlg = FactoryBinaryContourFinder.linearChang2004(); contourAlg.setConnectRule(controls.getConnectRule()); }