code: public void process(Planar<T> input, Planar<T> output) {
  
  		int N = input.getNumBands();
  		for( int i = 0; i < N; i++ ) {
  			this.output[i] = FactoryGImageGray.wrap(output.getBand(i),this.output[i]);
  			interp[i].setImage(input.getBand(i));
  		}
  
  		int indexMap = 0;
  		for( int i = 0; i < output.height; i++ ) {
  			int indexOut = output.startIndex + i*output.stride;
  			for( int j = 0; j < output.width; j++ , indexOut++,indexMap++ ) {
  				Point2D_F32 p = mapPixels[indexMap];
  				if( p != null ) {
  					for( int k = 0; k < N; k++ ) {
  						this.output[k].set(indexOut, interp[k].get( p.x, p.y));
  					}
  				}
  			}
  		}
  	}
docs: Computes overhead view of input image.  All pixels in input image are assumed to be on the ground plane.
  
  @param input (Input) Camera image.
  @param output (Output) Image containing overhead view.