code: public static <T extends ImageInterleaved<T>>
  	void interleavedToBitmap(T input, Bitmap output, byte[] storage) {
  		if( output.getWidth() != input.getWidth() || output.getHeight() != input.getHeight() ) {
  			throw new IllegalArgumentException("Image shapes are not the same");
  		}
  
  		if( storage == null )
  			storage = declareStorage(output,null);
  
  		if( input.getImageType().getDataType() == ImageDataType.U8 )
  			ImplConvertBitmap.interleavedToArray((InterleavedU8) input, storage, output.getConfig());
  		else if( input.getImageType().getDataType() == ImageDataType.F32 )
  			ImplConvertBitmap.interleavedToArray((InterleavedF32) input, storage, output.getConfig());
  		else
  			throw new IllegalArgumentException("Unsupported BoofCV Type");
  		output.copyPixelsFromBuffer(ByteBuffer.wrap(storage));
  	}
docs: Converts {@link ImageInterleaved} image into Bitmap.
  
  @see #declareStorage(android.graphics.Bitmap, byte[])
  
  @param input Input Planar image.
  @param output Output Bitmap image.
  @param storage Byte array used for internal storage. If null it will be declared internally.