/** * <p> * Converts an {@link boofcv.struct.image.GrayS8} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayS8 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * Converts a {@link InterleavedF64} into a {@link GrayF64} by computing the average value of each pixel * across all the bands. * * @param input (Input) The ImageInterleaved that is being converted. Not modified. * @param output (Optional) The single band output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 average( InterleavedF64 input , GrayF64 output ) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ConvertInterleavedToSingle.average(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayS32} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayS32 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayS64} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayS64 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * Converts a {@link Planar} into a {@link ImageGray} by computing the average value of each pixel * across all the bands. * * @param input Input Planar image that is being converted. Not modified. * @param output (Optional) The single band output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 average( Planar<GrayF64> input , GrayF64 output ) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertPlanarToGray.average(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayU8} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayU8 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayS16} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayS16 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayU16} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayU16 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.GrayF32} into a {@link boofcv.struct.image.GrayF64}. * </p> * * @param input Input image which is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static GrayF64 convert(GrayF32 input, GrayF64 output) { if (output == null) { output = new GrayF64(input.width, input.height); } else { output.reshape(input.width,input.height); } ImplConvertImage.convert(input, output); return output; }
/** * Constructor which specifies the input image type. * * @param imageType Either {@link GrayU8} or {@link GrayF32} */ public TldVarianceFilter( Class<T> imageType ) { // declare integral images. if(GeneralizedImageOps.isFloatingPoint(imageType) ) { integral = new GrayF32(1,1); integralSq = new GrayF64(1,1); } else { integral = new GrayS32(1,1); integralSq = new GrayS64(1,1); } }
public static <T extends ImageGray<T>> T createSingleBand(Class<T> type, int width, int height) { type = BoofTesting.convertGenericToSpecificType(type); if (type == GrayU8.class) { return (T)new GrayU8(width, height); } else if (type == GrayS8.class) { return (T)new GrayS8(width, height); } else if (type == GrayS16.class) { return (T)new GrayS16(width, height); } else if (type == GrayU16.class) { return (T)new GrayU16(width, height); } else if (type == GrayS32.class) { return (T)new GrayS32(width, height); } else if (type == GrayS64.class) { return (T)new GrayS64(width, height); } else if (type == GrayF32.class) { return (T)new GrayF32(width, height); } else if (type == GrayF64.class) { return (T)new GrayF64(width, height); } else if( (Class)type == GrayI.class ) { // ImageInteger is a generic type, so just create something return (T)new GrayS32(width,height); } throw new RuntimeException("Unknown type: "+type.getSimpleName()); }
ImplAverageDownSample.vertical(middle, (GrayF32) output); } else if (input instanceof GrayF64) { GrayF64 middle = new GrayF64(output.width, input.height); ImplAverageDownSample.horizontal((GrayF64) input, middle); ImplAverageDownSample.vertical(middle, (GrayF64) output);