title: Copy select rows into new matrix
body: <p>I want to copy the rows 0, 2 and 4 of my matrix A into B, in this order. 
  Let A = [a0, a1, a2, a3, a4]^T , with a_i being row-vectors, 
  then B should be: [a0, a2, a4]^T.</p>
  
  <p>The code below does what I want but I wonder whether there is a prettier solution (maybe using Eigen)? </p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;opencv/cv.h&gt;
  
  
  int main(int argc, char **argv) {
      const int num_points = 5;
      const int vec_length = 3;
      cv::Mat A(num_points, vec_length, CV_32FC1);
      cv::RNG rng(0); // Fill A with random values
      rng.fill(A, cv::RNG::UNIFORM, 0, 1);
  // HACK Ugly way to fill that matrix .
      cv::Mat B = cv::Mat(3,vec_length, CV_32FC1);
      cv::Mat tmp0 = B(cv::Rect(0,0,vec_length,1));
      cv::Mat tmp1 = B(cv::Rect(0,1,vec_length,1));
      cv::Mat tmp2 = B(cv::Rect(0,2,vec_length,1));
      A.row(0).copyTo(tmp0);
      A.row(2).copyTo(tmp1);
      A.row(4).copyTo(tmp2);
  
      std::cout &lt;&lt; "A: " &lt;&lt; A &lt;&lt; std::endl;
      std::cout &lt;&lt; "B: " &lt;&lt; B &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>