public static ImageDataType convertToGenericType(ImageDataType type) { if (type.isInteger()) { if (type.getNumBits() == 8) return ImageDataType.I8; else if (type.getNumBits() == 16) return ImageDataType.I16; } return type; }
public static <T extends ImageGray<T>, K extends Kernel2D> K gaussian2D(ImageDataType imageType, double sigma, int radius ) { int numBits = imageType.getNumBits() <= 32 ? 32 : imageType.getNumBits(); return gaussian(2,!imageType.isInteger(), numBits, sigma,radius); }
public static <T extends KernelBase> T createKernelForImage( int width , int offset, int DOF , ImageDataType type ) { boolean isFloat = !type.isInteger(); int numBits = Math.max(32, type.getNumBits()); return createKernel(width,offset,DOF,isFloat,numBits); }
private void setByDataType( ImageDataType type ) { primitiveType = type.getDataType(); numBits = type.getNumBits(); abbreviatedType = type.toString(); isSigned = true; isInteger = false; if( type.getNumBits() == 32 ) { sumType = "float"; } else {
/** * Configuration constructor * @param distort Used to apply image distortion from different input images * @param equiWidth Width of output equirectangular image * @param equiHeight Height of output equirectangular image * @param imageType Type of image it processes and outputs. Must be floating point. Hmm why isn't this fixed? */ public MultiCameraToEquirectangular(ImageDistort<T,T> distort , int equiWidth , int equiHeight , ImageType<T> imageType ) { if( imageType.getDataType().isInteger() || imageType.getDataType().getNumBits() != 32 ) throw new IllegalArgumentException("Must be a 32 bit floating point image"); this.distort = distort; this.equiWidth = equiWidth; this.equHeight = equiHeight; tools.configure(equiWidth, equiHeight); weightImage = new GrayF32(equiWidth,equiHeight); averageImage = imageType.createImage(equiWidth, equiHeight); workImage = averageImage.createSameShape(); cameraRendered = averageImage.createSameShape(); }
/** * Configuration constructor * @param distort Used to apply image distortion from different input images * @param equiWidth Width of output equirectangular image * @param equiHeight Height of output equirectangular image * @param imageType Type of image it processes and outputs. Must be floating point. Hmm why isn't this fixed? */ public MultiCameraToEquirectangular(ImageDistort<T,T> distort , int equiWidth , int equiHeight , ImageType<T> imageType ) { if( imageType.getDataType().isInteger() || imageType.getDataType().getNumBits() != 32 ) throw new IllegalArgumentException("Must be a 32 bit floating point image"); this.distort = distort; this.equiWidth = equiWidth; this.equHeight = equiHeight; tools.configure(equiWidth, equiHeight); weightImage = new GrayF32(equiWidth,equiHeight); averageImage = imageType.createImage(equiWidth, equiHeight); workImage = averageImage.createSameShape(); cameraRendered = averageImage.createSameShape(); }
public static ImageBorder wrap(ImageGray image , double value ) { if( image.getDataType().isInteger() ) { if( image.getDataType().getNumBits() <= 32 ) return wrap((GrayI)image,(int)value); else return wrap((GrayS64)image,(long)value); } else if( image.getDataType().getDataType() == float.class ) { return wrap((GrayF32)image,(float)value); } else { return wrap((GrayF64)image,value); } }
return colorizeSign(srcInt, dst, (int) max); } else { if (src.getDataType().getNumBits() == 8) { dst = ConvertBufferedImage.convertTo((GrayU8) src, dst); } else {
return colorizeSign(srcInt, dst, (int) max); } else { if (src.getDataType().getNumBits() == 8) { dst = ConvertBufferedImage.convertTo((GrayU8) src, dst); } else {