title: how to use gpu::Stream in OpenCV?
body: <p>OpenCV has <code>gpu::Stream</code> class that encapsulates a queue of asynchronous calls. Some functions have overloads with the additional <code>gpu::Stream</code> parameter. Aside from <a href="https://github.com/Itseez/opencv/blob/master/doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.rst#id7" rel="nofollow">gpu-basics-similarity.cpp sample code</a>, there is very little information in OpenCV documentation on how and when to use <code>gpu::Stream</code>. For example, it is not very clear (to me) what exactly <code>gpu::Stream::enqueueConvert</code> or <code>gpu::Stream::enqueueCopy</code> do, or how to use <code>gpu::Stream</code> as additional overload parameter. I'm looking for some tutorial-like overview of <code>gpu::Stream</code>.</p>