title: remap irregular to regular grid
body: <p>I'm using the remap function to map a irregular grid( 650 xyz-coordinates ) to a regular one ( 160x160 points from -5....5 step 1/160) but I can't seem to get it working. By the way the interpolation that I use is bicubic. Can someone please tell me if it's even possible to do it like this? thanks in advance.</p>
  
  <pre><code>using namespace cv;
  using namespace POINTS;
  
  std::ofstream file;
  Mat src(400,3,CV_32F);
  Mat dst(160,160,CV_32F);
  Mat map_x;
  Mat map_y;
  int ind = 0;
  
  Mat matx( 400, 1, CV_32F, &amp;pointsx );
  Mat maty( 400, 1, CV_32F, &amp;pointsy );
  Mat matz( 400, 1, CV_32F, &amp;pointsz );
  
  
  void matrixDump( const Mat* mat );
  void createMatrix( Mat* mat );
  
  int main()
  {
  
   hconcat( matx, maty, matx );
   hconcat( matx, matz, src );
  
   map_x.create( 160,160, CV_32FC1 );
   map_y.create( 160, 160, CV_32FC1 );
  
   createMatrix( &amp;map_x );
   createMatrix( &amp;map_y );
   Mat T = map_y.t();
   remap( src, dst, map_x, T, CV_INTER_CUBIC, BORDER_CONSTANT, Scalar(0, 0, 0) );
  
   return 0;
  }
  
  
  void matrixDump( const Mat* mat )
  {
      file.open("interpolation.txt");
  
      for( int i=0; i&lt;mat-&gt;rows ; i++ )
      {
         for( int j=0; j&lt;mat-&gt;cols;j++)
         {
             file &lt;&lt; mat-&gt;at&lt;float&gt;(i,j) &lt;&lt; " " ;
         }
      }
      file.close();
  }
  
  
  void createMatrix( Mat* mat )
  { 
     for( int i=0; i&lt;mat-&gt;rows; i++)
     {
         for( int j=0; j&lt;mat-&gt;cols; j++ )
         {
             float value = -1. + (j*2./(mat-&gt;rows-1));
             mat-&gt;at&lt;float&gt;(i,j) = 5. * value;
         }
     }
  }
  </code></pre>