Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to write this interpolate function using OpenCV?

I want to optimize this code, in particular this function:

bool interpolate(const Mat &im, float ofsx, float ofsy, float a11, float a12, float a21, float a22, Mat &res)
{         
   bool ret = false;
   // input size (-1 for the safe bilinear interpolation)
   const int width = im.cols-1;
   const int height = im.rows-1;
   // output size
   const int halfWidth  = res.cols >> 1;
   const int halfHeight = res.rows >> 1;
   int dim = res.rows * res.cols;
   float *out = res.ptr<float>(0);
   for (int j=-halfHeight; j<=halfHeight; ++j)
   {
      const float rx = ofsx + j * a12;
      const float ry = ofsy + j * a22;
      #pragma omp simd
      for(int i=-halfWidth; i<=halfWidth; ++i)
      {
         float wx = rx + i * a11;
         float wy = ry + i * a21;
         const int x = (int) floor(wx);
         const int y = (int) floor(wy);
         if (x >= 0 && y >= 0 && x < width && y < height)
         {
            // compute weights
            wx -= x; wy -= y;
            // bilinear interpolation
            *out++ = 
               (1.0f - wy) * ((1.0f - wx) * im.at<float>(y,x)   + wx * im.at<float>(y,x+1)) +
               (       wy) * ((1.0f - wx) * im.at<float>(y+1,x) + wx * im.at<float>(y+1,x+1));
         } else {
            *out++ = 0;
            ret =  true; // touching boundary of the input            
         }
      }
   }
   return ret;
}

Can anybody please help to find an equivalent function in OpenCV for the code above? I'm not expert on image processing, so I don't really know what the fucntion above does in details, but I think this is a warp-affine transformation, even though I don't really know how to define an OpenCV equivalent.

It seems that the input images are the blurred image, the original image or small patches of it. The output result is always a small patch.

Here are some samples:

Sample 1:

Args:

ofx=175.497 ofsy=315.06 a11=1.69477 a12=0.0671724 a21=0.0679493 a22=1.56309

Input image:

enter image description here

Output image:

enter image description here

Sample 2:

Args:

ofx=572.121 ofsy=326.659 a11=0.871508 a12=0 a21=0.346405 a22=1.14744

Input image:

enter image description here

Output image:

enter image description here

Sample 3:

ofx=66.571 ofsy=148.991 a11=1.12027 a12=0.126609 a21=0.126609 a22=2.53436

Input image:

enter image description here

Output image:

enter image description here

These are different sections of the original code where the function is called:

  // warp input according to current shape matrix
  interpolate(wrapper.prevBlur, lx, ly, u11*ratio, u12*ratio, u21*ratio, u22*ratio, img);

  Mat smoothed(patchImageSize, patchImageSize, CV_32FC1, (void *)&workspace.front());
  // interpolate with det == 1
  if (!interpolate(img, x, y, a11, a12, a21, a22, smoothed))
  {

  // subsample with corresponding scale
  interpolate(smoothed, (float)(patchImageSize>>1), (float)(patchImageSize>>1), imageToPatchScale, 0, 0, imageToPatchScale, patch);


  // ok, do the interpolation
  interpolate(img, x, y, a11, a12, a21, a22, patch);

This is what happens when I try to use warpAffine in the following way:

  // warp input according to current shape matrix
  interpolate(wrapper.prevBlur, lx, ly, u11*ratio, u12*ratio, u21*ratio, u22*ratio, img);

  Mat warp_mat( 2, 3, CV_32FC1 );
  Mat myPatch(img.rows, img.cols, CV_32FC1);
  warp_mat.at<float>(0,2) = lx;
  warp_mat.at<float>(1,2) = ly;
  warp_mat.at<float>(0,0) = u11*ratio;
  warp_mat.at<float>(0,1) = u12*ratio;
  warp_mat.at<float>(1,0) = u21*ratio;
  warp_mat.at<float>(1,1) = u22*ratio;

  warpAffine(wrapper.prevBlur, myPatch, warp_mat, myPatch.size());

The resulting myPatch matrix is a zero matrix, while img (obtained by interpolate) is:

[19.109245, 19.189388, 18.941183, 18.454611, 18.285404, 19.447983, 22.037096, 28.504759, 37.753605, 50.69936, 61.34388, 67.619637, 70.699326, 71.640556, 73.347702, 72.383781, 70.7649, 72.320709, 74.32235;
 18.464636, 18.408369, 18.347059, 18.194805, 17.982847, 18.312258, 18.990305, 21.852564, 26.399525, 35.10569, 44.444019, 53.986103, 59.851856, 63.937149, 67.766968, 70.979973, 73.074722, 77.097763, 82.344398;
 17.838448, 17.706562, 17.580456, 17.869242, 18.216852, 18.72654, 19.004158, 20.150208, 21.66539, 26.167187, 31.805283, 41.04277, 48.207466, 54.719109, 59.793156, 65.378006, 71.004974, 77.016037, 86.317352;
 17.257101, 17.117496, 16.95055, 17.34347, 18.505379, 20.129673, 21.161978, 22.195414, 22.287436, 24.150574, 26.179817, 32.619934, 39.298115, 46.696926, 52.091522, 57.986988, 64.629898, 72.434052, 82.955505;
 16.810595, 16.665813, 16.672272, 17.16098, 18.665346, 21.783976, 24.785789, 27.150511, 27.23918, 27.834826, 27.594404, 30.645121, 35.405987, 42.133587, 46.915634, 51.880707, 57.028702, 64.57579, 74.402069;
 16.687065, 16.451401, 16.626608, 17.460049, 19.36956, 23.552647, 28.802736, 33.788773, 35.505379, 35.85894, 34.729523, 34.880505, 37.088661, 42.075432, 45.702, 49.056709, 51.509052, 56.637093, 63.660839;
 16.802176, 16.594761, 16.863697, 18.126085, 20.491119, 25.517574, 32.737259, 40.572498, 45.324429, 46.528313, 45.586109, 44.153858, 43.667118, 46.450905, 48.539593, 50.182858, 50.18359, 51.575584, 54.267056;
 17.036257, 17.025221, 17.271259, 18.925261, 22.124079, 27.620583, 35.921772, 46.177872, 54.232437, 57.583233, 57.648571, 55.857315, 53.885891, 54.148857, 55.00872, 54.9893, 52.946201, 50.873283, 49.034798;
 17.337849, 17.61212, 18.028404, 19.572941, 23.455297, 29.841951, 38.668663, 49.819805, 60.617371, 66.327873, 68.025574, 66.935631, 64.995117, 63.513988, 63.28405, 62.325748, 58.940784, 53.796066, 48.033508;
 17.798275, 18.203262, 19.018663, 20.718761, 24.611408, 31.378065, 40.706932, 51.637016, 63.323963, 71.373169, 74.578476, 74.412659, 74.106857, 72.411026, 71.710922, 70.007111, 66.181709, 58.721882, 50.149853;
 18.593805, 19.017687, 20.172789, 22.093014, 25.971659, 32.813194, 41.989246, 52.252911, 62.929924, 71.418938, 76.355003, 77.044289, 78.709656, 78.83432, 78.581551, 76.614075, 72.71788, 63.598377, 52.698578;
 19.567734, 20.197411, 21.640959, 24.039509, 27.603041, 34.091061, 42.821777, 52.127884, 61.030842, 68.610733, 73.860558, 75.530617, 78.25412, 81.30085, 82.840904, 80.822067, 76.685196, 67.430412, 54.54921;
 21.115396, 21.835562, 23.40497, 26.244884, 30.036913, 35.568745, 43.308716, 51.656746, 58.69318, 64.595673, 69.845467, 72.11985, 74.878944, 79.890228, 83.964821, 82.866249, 77.71666, 68.196243, 55.256557;
 23.264105, 24.024746, 25.705564, 28.513554, 32.514004, 37.26601, 43.47644, 50.611153, 56.786697, 61.13575, 66.052094, 69.762238, 71.692001, 76.810669, 81.848129, 82.157066, 76.844963, 66.500725, 54.042095;
 26.102678, 26.758638, 28.201065, 30.806498, 34.584103, 38.752495, 43.416939, 48.890656, 54.433743, 58.482693, 63.515507, 69.373245, 71.917755, 74.965172, 78.791039, 79.034378, 73.354454, 62.917992, 50.983219;
 29.008026, 30.016344, 30.787025, 32.692429, 35.850079, 39.365425, 42.956245, 46.993965, 51.688225, 56.120068, 61.624519, 69.804024, 74.923134, 76.170395, 76.252747, 74.715118, 68.599701, 58.000847, 47.082359;
 31.630077, 33.315144, 33.247631, 33.903202, 36.094364, 38.939133, 42.000217, 45.338474, 49.197887, 53.639317, 59.658398, 69.140472, 77.870468, 79.725624, 75.932251, 69.885872, 62.522583, 52.486378, 42.571148;
 34.113537, 36.435402, 35.544792, 34.225368, 35.189747, 37.445477, 40.579632, 44.427345, 48.191299, 52.085419, 57.660496, 66.887024, 77.807755, 81.70005, 76.676743, 66.486168, 56.192219, 46.825108, 38.276539;
 37.42725, 39.82682, 37.698589, 34.016525, 33.155304, 35.16758, 39.039139, 44.336964, 49.359722, 52.590809, 56.610603, 64.08419, 74.419289, 80.603294, 76.006302, 63.653465, 50.843102, 41.247444, 34.471062]

Update after comment:

These are results by using [[1, 0, 0], [0, 1, 0]] with the following code:

  Mat warp_mat( 2, 3, CV_32FC1 );
  Mat myPatch(img.rows, img.cols, CV_32FC1);
  warp_mat.at<float>(0,0) = 1;
  warp_mat.at<float>(0,1) = 0;
  warp_mat.at<float>(0,2) = 0;
  warp_mat.at<float>(1,0) = 0;
  warp_mat.at<float>(1,1) = 1;
  warp_mat.at<float>(1,2) = 0;

  warpAffine(wrapper.prevBlur, myPatch, warp_mat, myPatch.size());

  interpolate(wrapper.prevBlur, 0, 0, 1, 0, 0, 1, img);

  std::cout<<"img="<<std::endl<<img<<std::endl;
  std::cout<<"myPatch="<<std::endl<<myPatch<<std::endl;

This is the result:

myPatch=
[2.4431293, 2.1086276, 1.7749974, 1.5721301, 1.5403291, 1.6410155, 1.8406107, 2.1113796, 2.3246853, 2.274801, 1.9218982, 1.5150533, 1.3849647, 1.6304944, 2.0485222, 2.350889, 2.3597333, 2.0955503, 1.7895333;
 2.3276107, 2.0702307, 1.8100098, 1.6615094, 1.6572961, 1.7410251, 1.8701531, 2.0462515, 2.1933937, 2.1447542, 1.8548106, 1.5096426, 1.3677924, 1.5307301, 1.8716481, 2.1614747, 2.2268672, 2.0538833, 1.8053011;
 2.3676813, 2.1666555, 1.9666147, 1.8710723, 1.9005303, 1.9753534, 2.0355756, 2.1005828, 2.1541297, 2.0949042, 1.8804716, 1.6108752, 1.4473697, 1.4956034, 1.7297701, 1.9990901, 2.127007, 2.0429015, 1.8344212;
 2.4378726, 2.2967758, 2.1802788, 2.1628339, 2.2288194, 2.2786529, 2.2584724, 2.2164674, 2.1899939, 2.1344388, 2.0028977, 1.8055484, 1.6097167, 1.5304217, 1.6462401, 1.8880013, 2.0669038, 2.0403137, 1.83448;
 2.3656359, 2.3085568, 2.3188434, 2.4140301, 2.513881, 2.5077794, 2.3889487, 2.2654738, 2.21731, 2.2129889, 2.1711345, 2.027447, 1.7903067, 1.5879864, 1.5785176, 1.7696027, 1.9787304, 2.000567, 1.8008;
 2.206573, 2.20857, 2.3185263, 2.5056028, 2.6312659, 2.5770819, 2.3866575, 2.2314539, 2.2230167, 2.3092971, 2.3504019, 2.2321868, 1.9485472, 1.637617, 1.494508, 1.5997266, 1.8265699, 1.9411844, 1.8201463;
 2.1686711, 2.1401191, 2.2343175, 2.4260342, 2.566293, 2.5228219, 2.3388758, 2.2057574, 2.2558136, 2.4211838, 2.5120842, 2.3888607, 2.0588915, 1.6645602, 1.4044838, 1.4204007, 1.674305, 1.93774, 1.9766959;
 2.3495517, 2.2178252, 2.1930335, 2.3035395, 2.4375367, 2.446404, 2.3236551, 2.2328601, 2.3145993, 2.5046468, 2.5949829, 2.4436085, 2.0789487, 1.6472976, 1.3386253, 1.3225981, 1.6233296, 2.0310438, 2.2330885;
 2.6443374, 2.4216607, 2.271126, 2.2733064, 2.367074, 2.4035037, 2.3307135, 2.2715025, 2.3534446, 2.5142543, 2.558598, 2.3710468, 2.0039113, 1.6069642, 1.3526549, 1.3859948, 1.7268054, 2.1843567, 2.4500203;
 2.8480706, 2.6081781, 2.4022317, 2.3262172, 2.3576505, 2.3759208, 2.3233094, 2.2885542, 2.3600159, 2.4632583, 2.4390275, 2.2265964, 1.9053584, 1.6181513, 1.4964664, 1.6123655, 1.9332824, 2.2962041, 2.4815767;
 2.8363421, 2.6495261, 2.4685297, 2.3705757, 2.3551981, 2.3474753, 2.3084226, 2.2938819, 2.3450513, 2.3841665, 2.303906, 2.1006732, 1.8709775, 1.7320135, 1.7481536, 1.9017053, 2.1140401, 2.2755213, 2.2935519;
 2.6843381, 2.570776, 2.4485474, 2.3652363, 2.3311026, 2.3124287, 2.2854021, 2.2722201, 2.2874477, 2.2811179, 2.1974571, 2.0585654, 1.9510744, 1.949532, 2.0441554, 2.1515076, 2.1987648, 2.1601086, 2.0436661;
 2.5708404, 2.4980509, 2.4066052, 2.3247712, 2.2715149, 2.240618, 2.2117574, 2.1820612, 2.1686828, 2.1669631, 2.1496241, 2.1224568, 2.1372876, 2.223933, 2.320411, 2.325356, 2.222693, 2.0774772, 1.9370635;
 2.5797169, 2.4994648, 2.3882916, 2.2717237, 2.1814501, 2.1282687, 2.088321, 2.0477793, 2.0435023, 2.1026075, 2.1884451, 2.2634258, 2.3440166, 2.440531, 2.4853985, 2.4004407, 2.2261844, 2.0775735, 1.9929975;
 2.6575036, 2.5407174, 2.3867426, 2.2276146, 2.105793, 2.0381868, 1.9926676, 1.957217, 1.9943975, 2.1358697, 2.3004007, 2.4031067, 2.4538231, 2.4880273, 2.4758935, 2.3724349, 2.2245722, 2.1250648, 2.0866187;
 2.7396812, 2.5771022, 2.3868701, 2.2087102, 2.0852935, 2.0258253, 1.9839712, 1.954851, 2.0270162, 2.2212756, 2.4017172, 2.4540136, 2.4177239, 2.3814328, 2.3572958, 2.3120859, 2.2525063, 2.2034295, 2.1529469;
 2.8178582, 2.6067877, 2.3855689, 2.2009118, 2.0914032, 2.0563271, 2.031563, 2.0058911, 2.0777535, 2.2625117, 2.4025984, 2.3879611, 2.2949963, 2.24438, 2.2592647, 2.2969358, 2.3194892, 2.2935386, 2.1949809;
 2.8821948, 2.6298969, 2.3772774, 2.1752813, 2.0658164, 2.0549006, 2.0671072, 2.0591409, 2.1049571, 2.2268343, 2.302479, 2.2581074, 2.1781676, 2.1660595, 2.2318597, 2.3250513, 2.3795013, 2.3374135, 2.1933386;
 2.8961384, 2.626019, 2.3559475, 2.1337738, 2.0103252, 2.0158522, 2.0777752, 2.1090014, 2.1328461, 2.180846, 2.1960387, 2.1485562, 2.1038179, 2.128792, 2.228153, 2.3500834, 2.398391, 2.3103254, 2.1375198]
img=
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4431293, 2.1086276, 1.7749974, 1.5721301, 1.5403291, 1.6410155, 1.8406107, 2.1113796, 2.3246853, 2.274801;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3276107, 2.0702307, 1.8100098, 1.6615094, 1.6572961, 1.7410251, 1.8701531, 2.0462515, 2.1933937, 2.1447542;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3676813, 2.1666555, 1.9666147, 1.8710723, 1.9005303, 1.9753534, 2.0355756, 2.1005828, 2.1541297, 2.0949042;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4378726, 2.2967758, 2.1802788, 2.1628339, 2.2288194, 2.2786529, 2.2584724, 2.2164674, 2.1899939, 2.1344388;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3656359, 2.3085568, 2.3188434, 2.4140301, 2.513881, 2.5077794, 2.3889487, 2.2654738, 2.21731, 2.2129889;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.206573, 2.20857, 2.3185263, 2.5056028, 2.6312659, 2.5770819, 2.3866575, 2.2314539, 2.2230167, 2.3092971;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.1686711, 2.1401191, 2.2343175, 2.4260342, 2.566293, 2.5228219, 2.3388758, 2.2057574, 2.2558136, 2.4211838;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3495517, 2.2178252, 2.1930335, 2.3035395, 2.4375367, 2.446404, 2.3236551, 2.2328601, 2.3145993, 2.5046468;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.6443374, 2.4216607, 2.271126, 2.2733064, 2.367074, 2.4035037, 2.3307135, 2.2715025, 2.3534446, 2.5142543;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8480706, 2.6081781, 2.4022317, 2.3262172, 2.3576505, 2.3759208, 2.3233094, 2.2885542, 2.3600159, 2.4632583]

it seems that the img[i+9,j+9] = myPatch[i,j] , especially considering that img.rows=myPatch.rows = 18. It seeems like the img result (obtained by the interpolate function is "centered" w.r.t. mypatch (obatined bhy warpAffine) and surrounded by zeros! Why this happens and how to obtain the same result?

How to write this interpolate function using OpenCV?

I want to optimize this code, in particular this function:

bool interpolate(const Mat &im, float ofsx, float ofsy, float a11, float a12, float a21, float a22, Mat &res)
{         
   bool ret = false;
   // input size (-1 for the safe bilinear interpolation)
   const int width = im.cols-1;
   const int height = im.rows-1;
   // output size
   const int halfWidth  = res.cols >> 1;
   const int halfHeight = res.rows >> 1;
   int dim = res.rows * res.cols;
   float *out = res.ptr<float>(0);
   for (int j=-halfHeight; j<=halfHeight; ++j)
   {
      const float rx = ofsx + j * a12;
      const float ry = ofsy + j * a22;
      #pragma omp simd
      for(int i=-halfWidth; i<=halfWidth; ++i)
      {
         float wx = rx + i * a11;
         float wy = ry + i * a21;
         const int x = (int) floor(wx);
         const int y = (int) floor(wy);
         if (x >= 0 && y >= 0 && x < width && y < height)
         {
            // compute weights
            wx -= x; wy -= y;
            // bilinear interpolation
            *out++ = 
               (1.0f - wy) * ((1.0f - wx) * im.at<float>(y,x)   + wx * im.at<float>(y,x+1)) +
               (       wy) * ((1.0f - wx) * im.at<float>(y+1,x) + wx * im.at<float>(y+1,x+1));
         } else {
            *out++ = 0;
            ret =  true; // touching boundary of the input            
         }
      }
   }
   return ret;
}

Can anybody please help to find an equivalent function in OpenCV for the code above? I'm not expert on image processing, so I don't really know what the fucntion above does in details, but I think this is a warp-affine transformation, even though I don't really know how to define an OpenCV equivalent.

It seems that the input images are the blurred image, the original image or small patches of it. The output result is always a small patch.

Here are some samples:

Sample 1:

Args:

ofx=175.497 ofsy=315.06 a11=1.69477 a12=0.0671724 a21=0.0679493 a22=1.56309

Input image:

enter image description here

Output image:

enter image description here

Sample 2:

Args:

ofx=572.121 ofsy=326.659 a11=0.871508 a12=0 a21=0.346405 a22=1.14744

Input image:

enter image description here

Output image:

enter image description here

Sample 3:

ofx=66.571 ofsy=148.991 a11=1.12027 a12=0.126609 a21=0.126609 a22=2.53436

Input image:

enter image description here

Output image:

enter image description here

These are different sections of the original code where the function is called:

  // warp input according to current shape matrix
  interpolate(wrapper.prevBlur, lx, ly, u11*ratio, u12*ratio, u21*ratio, u22*ratio, img);

  Mat smoothed(patchImageSize, patchImageSize, CV_32FC1, (void *)&workspace.front());
  // interpolate with det == 1
  if (!interpolate(img, x, y, a11, a12, a21, a22, smoothed))
  {

  // subsample with corresponding scale
  interpolate(smoothed, (float)(patchImageSize>>1), (float)(patchImageSize>>1), imageToPatchScale, 0, 0, imageToPatchScale, patch);


  // ok, do the interpolation
  interpolate(img, x, y, a11, a12, a21, a22, patch);

This is what happens when I try to use warpAffine in the following way:

  // warp input according to current shape matrix
  interpolate(wrapper.prevBlur, lx, ly, u11*ratio, u12*ratio, u21*ratio, u22*ratio, img);

  Mat warp_mat( 2, 3, CV_32FC1 );
  Mat myPatch(img.rows, img.cols, CV_32FC1);
  warp_mat.at<float>(0,2) = lx;
  warp_mat.at<float>(1,2) = ly;
  warp_mat.at<float>(0,0) = u11*ratio;
  warp_mat.at<float>(0,1) = u12*ratio;
  warp_mat.at<float>(1,0) = u21*ratio;
  warp_mat.at<float>(1,1) = u22*ratio;

  warpAffine(wrapper.prevBlur, myPatch, warp_mat, myPatch.size());

The resulting myPatch matrix is a zero matrix, while img (obtained by interpolate) is:

[19.109245, 19.189388, 18.941183, 18.454611, 18.285404, 19.447983, 22.037096, 28.504759, 37.753605, 50.69936, 61.34388, 67.619637, 70.699326, 71.640556, 73.347702, 72.383781, 70.7649, 72.320709, 74.32235;
 18.464636, 18.408369, 18.347059, 18.194805, 17.982847, 18.312258, 18.990305, 21.852564, 26.399525, 35.10569, 44.444019, 53.986103, 59.851856, 63.937149, 67.766968, 70.979973, 73.074722, 77.097763, 82.344398;
 17.838448, 17.706562, 17.580456, 17.869242, 18.216852, 18.72654, 19.004158, 20.150208, 21.66539, 26.167187, 31.805283, 41.04277, 48.207466, 54.719109, 59.793156, 65.378006, 71.004974, 77.016037, 86.317352;
 17.257101, 17.117496, 16.95055, 17.34347, 18.505379, 20.129673, 21.161978, 22.195414, 22.287436, 24.150574, 26.179817, 32.619934, 39.298115, 46.696926, 52.091522, 57.986988, 64.629898, 72.434052, 82.955505;
 16.810595, 16.665813, 16.672272, 17.16098, 18.665346, 21.783976, 24.785789, 27.150511, 27.23918, 27.834826, 27.594404, 30.645121, 35.405987, 42.133587, 46.915634, 51.880707, 57.028702, 64.57579, 74.402069;
 16.687065, 16.451401, 16.626608, 17.460049, 19.36956, 23.552647, 28.802736, 33.788773, 35.505379, 35.85894, 34.729523, 34.880505, 37.088661, 42.075432, 45.702, 49.056709, 51.509052, 56.637093, 63.660839;
 16.802176, 16.594761, 16.863697, 18.126085, 20.491119, 25.517574, 32.737259, 40.572498, 45.324429, 46.528313, 45.586109, 44.153858, 43.667118, 46.450905, 48.539593, 50.182858, 50.18359, 51.575584, 54.267056;
 17.036257, 17.025221, 17.271259, 18.925261, 22.124079, 27.620583, 35.921772, 46.177872, 54.232437, 57.583233, 57.648571, 55.857315, 53.885891, 54.148857, 55.00872, 54.9893, 52.946201, 50.873283, 49.034798;
 17.337849, 17.61212, 18.028404, 19.572941, 23.455297, 29.841951, 38.668663, 49.819805, 60.617371, 66.327873, 68.025574, 66.935631, 64.995117, 63.513988, 63.28405, 62.325748, 58.940784, 53.796066, 48.033508;
 17.798275, 18.203262, 19.018663, 20.718761, 24.611408, 31.378065, 40.706932, 51.637016, 63.323963, 71.373169, 74.578476, 74.412659, 74.106857, 72.411026, 71.710922, 70.007111, 66.181709, 58.721882, 50.149853;
 18.593805, 19.017687, 20.172789, 22.093014, 25.971659, 32.813194, 41.989246, 52.252911, 62.929924, 71.418938, 76.355003, 77.044289, 78.709656, 78.83432, 78.581551, 76.614075, 72.71788, 63.598377, 52.698578;
 19.567734, 20.197411, 21.640959, 24.039509, 27.603041, 34.091061, 42.821777, 52.127884, 61.030842, 68.610733, 73.860558, 75.530617, 78.25412, 81.30085, 82.840904, 80.822067, 76.685196, 67.430412, 54.54921;
 21.115396, 21.835562, 23.40497, 26.244884, 30.036913, 35.568745, 43.308716, 51.656746, 58.69318, 64.595673, 69.845467, 72.11985, 74.878944, 79.890228, 83.964821, 82.866249, 77.71666, 68.196243, 55.256557;
 23.264105, 24.024746, 25.705564, 28.513554, 32.514004, 37.26601, 43.47644, 50.611153, 56.786697, 61.13575, 66.052094, 69.762238, 71.692001, 76.810669, 81.848129, 82.157066, 76.844963, 66.500725, 54.042095;
 26.102678, 26.758638, 28.201065, 30.806498, 34.584103, 38.752495, 43.416939, 48.890656, 54.433743, 58.482693, 63.515507, 69.373245, 71.917755, 74.965172, 78.791039, 79.034378, 73.354454, 62.917992, 50.983219;
 29.008026, 30.016344, 30.787025, 32.692429, 35.850079, 39.365425, 42.956245, 46.993965, 51.688225, 56.120068, 61.624519, 69.804024, 74.923134, 76.170395, 76.252747, 74.715118, 68.599701, 58.000847, 47.082359;
 31.630077, 33.315144, 33.247631, 33.903202, 36.094364, 38.939133, 42.000217, 45.338474, 49.197887, 53.639317, 59.658398, 69.140472, 77.870468, 79.725624, 75.932251, 69.885872, 62.522583, 52.486378, 42.571148;
 34.113537, 36.435402, 35.544792, 34.225368, 35.189747, 37.445477, 40.579632, 44.427345, 48.191299, 52.085419, 57.660496, 66.887024, 77.807755, 81.70005, 76.676743, 66.486168, 56.192219, 46.825108, 38.276539;
 37.42725, 39.82682, 37.698589, 34.016525, 33.155304, 35.16758, 39.039139, 44.336964, 49.359722, 52.590809, 56.610603, 64.08419, 74.419289, 80.603294, 76.006302, 63.653465, 50.843102, 41.247444, 34.471062]

Update after comment:

These are results by using [[1, 0, 0], [0, 1, 0]] with the following code:

  Mat warp_mat( 2, 3, CV_32FC1 );
  Mat myPatch(img.rows, img.cols, CV_32FC1);
  warp_mat.at<float>(0,0) = 1;
  warp_mat.at<float>(0,1) = 0;
  warp_mat.at<float>(0,2) = 0;
  warp_mat.at<float>(1,0) = 0;
  warp_mat.at<float>(1,1) = 1;
  warp_mat.at<float>(1,2) = 0;

  warpAffine(wrapper.prevBlur, myPatch, warp_mat, myPatch.size());

  interpolate(wrapper.prevBlur, 0, 0, 1, 0, 0, 1, img);

  std::cout<<"img="<<std::endl<<img<<std::endl;
  std::cout<<"myPatch="<<std::endl<<myPatch<<std::endl;

This is the result:

myPatch=
[2.4431293, 2.1086276, 1.7749974, 1.5721301, 1.5403291, 1.6410155, 1.8406107, 2.1113796, 2.3246853, 2.274801, 1.9218982, 1.5150533, 1.3849647, 1.6304944, 2.0485222, 2.350889, 2.3597333, 2.0955503, 1.7895333;
 2.3276107, 2.0702307, 1.8100098, 1.6615094, 1.6572961, 1.7410251, 1.8701531, 2.0462515, 2.1933937, 2.1447542, 1.8548106, 1.5096426, 1.3677924, 1.5307301, 1.8716481, 2.1614747, 2.2268672, 2.0538833, 1.8053011;
 2.3676813, 2.1666555, 1.9666147, 1.8710723, 1.9005303, 1.9753534, 2.0355756, 2.1005828, 2.1541297, 2.0949042, 1.8804716, 1.6108752, 1.4473697, 1.4956034, 1.7297701, 1.9990901, 2.127007, 2.0429015, 1.8344212;
 2.4378726, 2.2967758, 2.1802788, 2.1628339, 2.2288194, 2.2786529, 2.2584724, 2.2164674, 2.1899939, 2.1344388, 2.0028977, 1.8055484, 1.6097167, 1.5304217, 1.6462401, 1.8880013, 2.0669038, 2.0403137, 1.83448;
 2.3656359, 2.3085568, 2.3188434, 2.4140301, 2.513881, 2.5077794, 2.3889487, 2.2654738, 2.21731, 2.2129889, 2.1711345, 2.027447, 1.7903067, 1.5879864, 1.5785176, 1.7696027, 1.9787304, 2.000567, 1.8008;
 2.206573, 2.20857, 2.3185263, 2.5056028, 2.6312659, 2.5770819, 2.3866575, 2.2314539, 2.2230167, 2.3092971, 2.3504019, 2.2321868, 1.9485472, 1.637617, 1.494508, 1.5997266, 1.8265699, 1.9411844, 1.8201463;
 2.1686711, 2.1401191, 2.2343175, 2.4260342, 2.566293, 2.5228219, 2.3388758, 2.2057574, 2.2558136, 2.4211838, 2.5120842, 2.3888607, 2.0588915, 1.6645602, 1.4044838, 1.4204007, 1.674305, 1.93774, 1.9766959;
 2.3495517, 2.2178252, 2.1930335, 2.3035395, 2.4375367, 2.446404, 2.3236551, 2.2328601, 2.3145993, 2.5046468, 2.5949829, 2.4436085, 2.0789487, 1.6472976, 1.3386253, 1.3225981, 1.6233296, 2.0310438, 2.2330885;
 2.6443374, 2.4216607, 2.271126, 2.2733064, 2.367074, 2.4035037, 2.3307135, 2.2715025, 2.3534446, 2.5142543, 2.558598, 2.3710468, 2.0039113, 1.6069642, 1.3526549, 1.3859948, 1.7268054, 2.1843567, 2.4500203;
 2.8480706, 2.6081781, 2.4022317, 2.3262172, 2.3576505, 2.3759208, 2.3233094, 2.2885542, 2.3600159, 2.4632583, 2.4390275, 2.2265964, 1.9053584, 1.6181513, 1.4964664, 1.6123655, 1.9332824, 2.2962041, 2.4815767;
 2.8363421, 2.6495261, 2.4685297, 2.3705757, 2.3551981, 2.3474753, 2.3084226, 2.2938819, 2.3450513, 2.3841665, 2.303906, 2.1006732, 1.8709775, 1.7320135, 1.7481536, 1.9017053, 2.1140401, 2.2755213, 2.2935519;
 2.6843381, 2.570776, 2.4485474, 2.3652363, 2.3311026, 2.3124287, 2.2854021, 2.2722201, 2.2874477, 2.2811179, 2.1974571, 2.0585654, 1.9510744, 1.949532, 2.0441554, 2.1515076, 2.1987648, 2.1601086, 2.0436661;
 2.5708404, 2.4980509, 2.4066052, 2.3247712, 2.2715149, 2.240618, 2.2117574, 2.1820612, 2.1686828, 2.1669631, 2.1496241, 2.1224568, 2.1372876, 2.223933, 2.320411, 2.325356, 2.222693, 2.0774772, 1.9370635;
 2.5797169, 2.4994648, 2.3882916, 2.2717237, 2.1814501, 2.1282687, 2.088321, 2.0477793, 2.0435023, 2.1026075, 2.1884451, 2.2634258, 2.3440166, 2.440531, 2.4853985, 2.4004407, 2.2261844, 2.0775735, 1.9929975;
 2.6575036, 2.5407174, 2.3867426, 2.2276146, 2.105793, 2.0381868, 1.9926676, 1.957217, 1.9943975, 2.1358697, 2.3004007, 2.4031067, 2.4538231, 2.4880273, 2.4758935, 2.3724349, 2.2245722, 2.1250648, 2.0866187;
 2.7396812, 2.5771022, 2.3868701, 2.2087102, 2.0852935, 2.0258253, 1.9839712, 1.954851, 2.0270162, 2.2212756, 2.4017172, 2.4540136, 2.4177239, 2.3814328, 2.3572958, 2.3120859, 2.2525063, 2.2034295, 2.1529469;
 2.8178582, 2.6067877, 2.3855689, 2.2009118, 2.0914032, 2.0563271, 2.031563, 2.0058911, 2.0777535, 2.2625117, 2.4025984, 2.3879611, 2.2949963, 2.24438, 2.2592647, 2.2969358, 2.3194892, 2.2935386, 2.1949809;
 2.8821948, 2.6298969, 2.3772774, 2.1752813, 2.0658164, 2.0549006, 2.0671072, 2.0591409, 2.1049571, 2.2268343, 2.302479, 2.2581074, 2.1781676, 2.1660595, 2.2318597, 2.3250513, 2.3795013, 2.3374135, 2.1933386;
 2.8961384, 2.626019, 2.3559475, 2.1337738, 2.0103252, 2.0158522, 2.0777752, 2.1090014, 2.1328461, 2.180846, 2.1960387, 2.1485562, 2.1038179, 2.128792, 2.228153, 2.3500834, 2.398391, 2.3103254, 2.1375198]
img=
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4431293, 2.1086276, 1.7749974, 1.5721301, 1.5403291, 1.6410155, 1.8406107, 2.1113796, 2.3246853, 2.274801;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3276107, 2.0702307, 1.8100098, 1.6615094, 1.6572961, 1.7410251, 1.8701531, 2.0462515, 2.1933937, 2.1447542;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3676813, 2.1666555, 1.9666147, 1.8710723, 1.9005303, 1.9753534, 2.0355756, 2.1005828, 2.1541297, 2.0949042;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4378726, 2.2967758, 2.1802788, 2.1628339, 2.2288194, 2.2786529, 2.2584724, 2.2164674, 2.1899939, 2.1344388;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3656359, 2.3085568, 2.3188434, 2.4140301, 2.513881, 2.5077794, 2.3889487, 2.2654738, 2.21731, 2.2129889;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.206573, 2.20857, 2.3185263, 2.5056028, 2.6312659, 2.5770819, 2.3866575, 2.2314539, 2.2230167, 2.3092971;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.1686711, 2.1401191, 2.2343175, 2.4260342, 2.566293, 2.5228219, 2.3388758, 2.2057574, 2.2558136, 2.4211838;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3495517, 2.2178252, 2.1930335, 2.3035395, 2.4375367, 2.446404, 2.3236551, 2.2328601, 2.3145993, 2.5046468;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.6443374, 2.4216607, 2.271126, 2.2733064, 2.367074, 2.4035037, 2.3307135, 2.2715025, 2.3534446, 2.5142543;
 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8480706, 2.6081781, 2.4022317, 2.3262172, 2.3576505, 2.3759208, 2.3233094, 2.2885542, 2.3600159, 2.4632583]

it seems that the img[i+9,j+9] = myPatch[i,j] , especially considering that img.rows=myPatch.rows = 18. It seeems like the img result (obtained by the interpolate function is "centered" w.r.t. mypatch (obatined bhy warpAffine) and surrounded by zeros! Why this happens and how to obtain the same result?

img=
[16.192287, 16.629427, 16.955511, 17.089033, 17.250101, 17.549927, 17.82395, 18.068485, 18.413986, 18.702688, 18.868906, 19.185381, 19.671364, 20.105902, 20.386673, 20.545441, 20.566685, 20.49843, 20.448795;
 17.302055, 17.832481, 18.229111, 18.322081, 18.417072, 18.75281, 19.128122, 19.365141, 19.638611, 19.892035, 19.992918, 20.124506, 20.328398, 20.457449, 20.470842, 20.45647, 20.412512, 20.375046, 20.393747;
 18.832878, 19.287333, 19.612286, 19.593784, 19.523384, 19.76672, 20.144175, 20.234394, 20.221674, 20.297182, 20.382528, 20.434889, 20.45405, 20.397362, 20.311769, 20.316124, 20.39106, 20.528904, 20.749229;
 20.223967, 20.442184, 20.590506, 20.494896, 20.330069, 20.477648, 20.804726, 20.742704, 20.45363, 20.382442, 20.590992, 20.78812, 20.902073, 20.936811, 20.959253, 21.147766, 21.552816, 22.123869, 22.81679;
 20.917389, 20.886923, 20.877415, 20.855871, 20.874214, 21.137478, 21.502722, 21.507151, 21.300846, 21.376945, 21.934898, 22.658594, 23.414829, 24.085939, 24.710558, 25.638771, 27.100786, 29.071871, 31.407715;
 21.23155, 21.124874, 21.142418, 21.354481, 21.735491, 22.32865, 22.992241, 23.471638, 23.995819, 25.078133, 27.112131, 29.862986, 32.984928, 35.804211, 38.333157, 41.426243, 45.582176, 50.833073, 56.83078;
 21.870264, 22.030523, 22.48313, 23.302528, 24.451895, 25.99704, 27.895159, 30.071938, 32.928268, 37.152435, 43.438992, 51.402069, 60.059128, 67.463608, 73.533875, 80.074806, 87.947205, 97.120064, 106.93817;
 25.178101, 26.909273, 29.380453, 32.633461, 36.708366, 41.781879, 47.827744, 54.7658, 62.982887, 73.128204, 85.689804, 99.794754, 113.80424, 124.8154, 132.78758, 140.28256, 148.41508, 157.06209, 165.6183;
 37.629581, 43.756496, 51.265068, 59.859665, 69.468636, 80.221069, 91.776535, 103.7187, 116.2251, 129.62872, 143.73479, 157.67632, 170.19362, 179.18878, 184.91924, 189.60101, 194.18967, 198.67267, 202.82118;
 70.206047, 83.056252, 97.020142, 110.90961, 124.52035, 138.00972, 150.83627, 162.43997, 173.0576, 182.95474, 191.79579, 199.39923, 205.47284, 209.41818, 211.57996, 213.04544, 214.30283, 215.46468, 216.54842;
 125.85208, 141.38918, 156.18753, 168.70552, 179.26999, 188.45326, 196.13992, 202.16519, 206.89851, 210.66261, 213.49698, 215.63658, 217.18597, 218.11162, 218.51207, 218.69113, 218.81602, 218.99362, 219.2552;
 178.96576, 189.26747, 197.82368, 203.89206, 208.26811, 211.6539, 214.26289, 216.1376, 217.37793, 218.12477, 218.57642, 218.92696, 219.24902, 219.47249, 219.51978, 219.50212, 219.49808, 219.57129, 219.73334;
 208.33478, 212.23734, 215.0508, 216.63177, 217.55089, 218.21532, 218.79689, 219.29037, 219.5367, 219.51758, 219.43796, 219.44524, 219.58322, 219.72852, 219.77, 219.78729, 219.80016, 219.83015, 219.91969;
 217.86922, 218.72455, 219.27521, 219.46072, 219.50258, 219.54672, 219.65263, 219.79657, 219.82553, 219.67906, 219.52661, 219.52354, 219.6729, 219.82419, 219.91899, 220.01273, 220.0545, 220.02554, 220.01752;
 219.44713, 219.76099, 219.96864, 220.02504, 220.0414, 220.07957, 220.10086, 220.07251, 219.98488, 219.81868, 219.6936, 219.7215, 219.84187, 219.93594, 220.03281, 220.15555, 220.20377, 220.13295, 220.06421;
 219.92091, 220.11116, 220.24455, 220.27782, 220.30289, 220.39308, 220.45532, 220.37808, 220.2224, 220.04805, 219.9537, 219.97736, 220.03848, 220.07417, 220.15506, 220.28358, 220.34154, 220.26656, 220.17708;
 220.08276, 220.22527, 220.32849, 220.3147, 220.29214, 220.40709, 220.57918, 220.58566, 220.44914, 220.27844, 220.18066, 220.17947, 220.21964, 220.25038, 220.31995, 220.44449, 220.52586, 220.48236, 220.38464;
 220.15144, 220.25279, 220.28783, 220.19411, 220.11977, 220.2549, 220.53773, 220.67783, 220.6313, 220.50195, 220.4007, 220.38602, 220.4337, 220.47188, 220.51761, 220.62254, 220.72192, 220.71051, 220.60042;
 220.27475, 220.35712, 220.31757, 220.12437, 219.99026, 220.13268, 220.49344, 220.75069, 220.81348, 220.75781, 220.68414, 220.67773, 220.72151, 220.73172, 220.72878, 220.78938, 220.87115, 220.86479, 220.76154]
myImg=
[15.637182, 16.012545, 16.32357, 16.504803, 16.634926, 16.868052, 17.140997, 17.340572, 17.606127, 17.895884, 18.062237, 18.285175, 18.774002, 19.341755, 19.818766, 20.174021, 20.343328, 20.343239, 20.295053;
 16.416969, 16.920599, 17.387636, 17.632381, 17.727726, 17.971935, 18.351017, 18.63109, 18.930983, 19.287308, 19.495829, 19.651718, 19.9615, 20.296818, 20.497192, 20.575798, 20.56542, 20.492559, 20.433878;
 17.762844, 18.29281, 18.756882, 18.960485, 18.941488, 19.09893, 19.516685, 19.807438, 19.948875, 20.130211, 20.258774, 20.315725, 20.393209, 20.442574, 20.401823, 20.345739, 20.334545, 20.335852, 20.402468;
 19.358042, 19.747892, 20.046383, 20.139086, 19.98632, 19.983292, 20.329073, 20.539141, 20.407135, 20.306482, 20.391109, 20.52536, 20.593847, 20.589911, 20.5259, 20.516485, 20.685331, 20.947838, 21.30644;
 20.556328, 20.691637, 20.75029, 20.748642, 20.618778, 20.631191, 20.955858, 21.131115, 20.885378, 20.66317, 20.810991, 21.167952, 21.492172, 21.753323, 21.946451, 22.207367, 22.832926, 23.742247, 24.865526;
 21.122705, 21.038874, 20.948832, 20.964909, 21.060396, 21.338614, 21.80722, 22.125162, 22.141024, 22.287127, 22.95071, 24.104252, 25.535904, 26.974949, 28.234789, 29.604351, 31.778568, 34.652653, 38.122635;
 21.530788, 21.470608, 21.560017, 21.893539, 22.456812, 23.31189, 24.447802, 25.608706, 26.849701, 28.808771, 31.915388, 36.376156, 41.829765, 47.144825, 51.555256, 55.803875, 61.364529, 68.007477, 75.576637;
 22.781286, 23.300743, 24.31254, 25.804604, 27.776167, 30.450474, 33.94553, 37.926403, 42.656063, 49.037827, 57.437866, 68.134293, 80.062141, 90.952263, 99.3311, 106.46665, 114.60203, 123.5284, 133.01411;
 27.495766, 30.220192, 34.158783, 39.062534, 44.9007, 52.102413, 60.803955, 70.204277, 80.581512, 92.661156, 106.4577, 121.93359, 137.23148, 150.10374, 159.17322, 165.90097, 172.57401, 179.29599, 185.91512;
 46.082382, 54.478893, 64.643211, 75.791222, 87.490547, 100.01414, 113.40417, 126.35889, 138.98489, 151.57956, 164.11769, 176.39066, 186.93488, 195.01236, 200.18703, 203.47726, 206.26892, 208.85777, 211.27214;
 90.304413, 104.89957, 119.94745, 134.41959, 147.59869, 159.67406, 171.01942, 180.74762, 189.00223, 196.022, 202.1377, 207.3849, 211.31265, 214.06335, 215.66351, 216.49915, 217.07184, 217.58057, 218.10931;
 148.39088, 162.67924, 175.2382, 185.75417, 193.95476, 200.3349, 205.63422, 209.70633, 212.70244, 214.77345, 216.29503, 217.4467, 218.25679, 218.83159, 219.12819, 219.20682, 219.23065, 219.29086, 219.44287;
 194.54123, 202.21938, 207.89972, 211.91817, 214.46198, 216.08769, 217.3484, 218.32831, 218.99684, 219.24464, 219.29533, 219.32381, 219.43573, 219.60591, 219.68811, 219.67404, 219.66074, 219.67972, 219.77078;
 213.28656, 215.72205, 217.34908, 218.31595, 218.76854, 219.00104, 219.23994, 219.52219, 219.746, 219.71588, 219.56789, 219.4706, 219.5453, 219.71095, 219.81615, 219.87311, 219.9202, 219.92784, 219.94409;
 218.47064, 219.08067, 219.51537, 219.73042, 219.78355, 219.80321, 219.84877, 219.90559, 219.93462, 219.8278, 219.65498, 219.57097, 219.67072, 219.81815, 219.9222, 220.03114, 220.11836, 220.10648, 220.0489;
 219.65154, 219.89101, 220.08293, 220.17572, 220.20422, 220.25607, 220.31628, 220.28757, 220.17738, 220.0183, 219.86516, 219.82034, 219.9015, 219.97357, 220.03346, 220.15071, 220.25156, 220.22813, 220.13232;
 219.95064, 220.11517, 220.2588, 220.32272, 220.31561, 220.36836, 220.50481, 220.54588, 220.43263, 220.25539, 220.11302, 220.06923, 220.11192, 220.14433, 220.18304, 220.29204, 220.40399, 220.40187, 220.31557;
 220.05055, 220.18147, 220.28249, 220.29152, 220.21426, 220.24043, 220.4552, 220.62939, 220.61169, 220.46791, 220.33006, 220.26596, 220.29587, 220.33969, 220.37738, 220.46614, 220.58585, 220.62083, 220.55812;
 220.14607, 220.25934, 220.29306, 220.20866, 220.05434, 220.06604, 220.34665, 220.64096, 220.74583, 220.68185, 220.57855, 220.51537, 220.5441, 220.58806, 220.60284, 220.65256, 220.76054, 220.81339, 220.76265]