title: Slow copying from T-API Umat to memory buffer
body: <p>I am using the OpenCV T-API to get my OpenCV stuff executed on the GPU, if available. I have a function that gets memory buffer, I read that into a Mat, convert it to a <code>cv::UMat</code>and perform my changes. This works pretty good, the processing speeds up by a factor of 3 to 10, depends on what processing I do. This helped me a lot, since I want to change a camera Image in real-time and it raised my FPS count significantly.</p>
  
  <p>However, I need to get the data back into memory for it to be displayed on screen, so I need to copy the data back to memory, and I was shocked how slow that is. It actually takes 15 times longer that copying the image into the UMat. I am using the <code>cv::UMat::getMat()</code> method in <code>cv::UMat</code>, is there any other way that would speed this up?</p>
  
  <p>Also, I need to write the image data into to a specific memory address. When I use <code>cv::UMat::getMat()</code>, a new <code>cv::Mat</code>is created, together with the data buffer and I have to copy the data to the desired address. Is there a way to write the data directly from the <code>cv::UMat</code>to the address?</p>
  
  <p>Would it be faster if I used OpenCL directly instead of using the OpenCV transparent API?</p>