OpenCVにはOpenGLがサポートされています。ヘッダーファイルopencv2/core/opengl_interop.hpp
を参照してください。あなたはテクスチャにGpuMatの内容をコピーすることができます。
cv::gpu::GpuMat d_mat(768, 1024, CV_8UC3);
cv::ogl::Texture2D tex;
tex.copyFrom(d_mat);
tex.bind();
// draw something
ます。またcv::ogl::Buffer
クラスを使用することができます。 OpenGLバッファメモリ用のラッパーです。このメモリは、メモリコピーせずにCUDAメモリにマッピングすることができます。
cv::ogl::Buffer ogl_buf(1, 1000, CV_32FC3);
cv::gpu::GpuMat d_mat = ogl_buf.mapDevice();
// fill d_mat with CUDA
ogl_buf.unmapDevice();
// use ogl_buf in OpenGL
ogl_buf.bind(cv::ogl::Buffer::ARRAY_BUFFER);
glDrawArray(...);