protected void resizeImages( int workRegionSize ) { templateNew.reshape(workRegionSize, workRegionSize); template.reshape(workRegionSize, workRegionSize); cosine.reshape(workRegionSize,workRegionSize); k.reshape(workRegionSize,workRegionSize); kf.reshape(workRegionSize,workRegionSize); alphaf.reshape(workRegionSize,workRegionSize); newAlphaf.reshape(workRegionSize,workRegionSize); response.reshape(workRegionSize,workRegionSize); tmpReal0.reshape(workRegionSize,workRegionSize); tmpReal1.reshape(workRegionSize,workRegionSize); tmpFourier0.reshape(workRegionSize,workRegionSize); tmpFourier1.reshape(workRegionSize,workRegionSize); tmpFourier2.reshape(workRegionSize,workRegionSize); gaussianWeight.reshape(workRegionSize,workRegionSize); gaussianWeightDFT.reshape(workRegionSize,workRegionSize); }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedF32} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedF32 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedS16} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedS16 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedS8} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedS8 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedS32} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedS32 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedU8} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedU8 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedU16} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedU16 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * <p> * Converts an {@link boofcv.struct.image.InterleavedS64} into a {@link boofcv.struct.image.InterleavedF64}. * </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 InterleavedF64 convert(InterleavedS64 input, InterleavedF64 output) { if (output == null) { output = new InterleavedF64(input.width, input.height, input.numBands); } else { output.reshape(input.width,input.height,input.numBands); } ImplConvertImage.convert(input, output); return output; }
/** * Converts a {@link Planar} into the equivalent {@link InterleavedF64} * * @param input (Input) Planar image that is being converted. Not modified. * @param output (Optional) The output image. If null a new image is created. Modified. * @return Converted image. */ public static InterleavedF64 convert( Planar<GrayF64> input , InterleavedF64 output ) { if (output == null) { output = new InterleavedF64(input.width, input.height,input.getNumBands()); } else { output.reshape(input.width,input.height,input.getNumBands()); } ImplConvertImage.convert(input,output); return output; }
@Override public void inverse(InterleavedF64 transform, GrayF64 image ) { DiscreteFourierTransformOps.checkImageArguments(image,transform); if( image.isSubimage() ) throw new IllegalArgumentException("Subimages are not supported"); checkDeclareAlg(image); // If he user lets us, modify the transform InterleavedF64 workImage; if(modifyInputs) { workImage = transform; } else { tmp.reshape(transform.width,transform.height); tmp.setTo(transform); workImage = tmp; } alg.complexInverse(workImage.data, true); // copy the real portion. imaginary should be zeros int N = image.width*image.height; for( int i = 0; i < N; i++ ) { image.data[i] = workImage.data[i*2]; } }