首先需要在cmake opencv时,勾选上with_opengl。
需要#include<windows.h>
基本流程:
1.创建cuda::gpumat 对象。
2.upload cpu上的图像到gpu上,函数为upload(Mat )。
3.cv::namewindow() 这一步非常重要!!如果没有无法使用opengl,因为opengl初始化时需要获取opengl的上下文环境。
需要注意的是,此处用法为namewindow("名字", WINDOW_OPENGL);
4.绑定setOpenGlContext("名字"). 此处的名字与之前的窗口名对应
5.创建opengl纹理 ogl::Texture2D tex;
6. tex.copyFrom(gpumat, true);
7.绑定 tex.bind(). 这一步必须要copyfrom前,否则不显示图片
8.绑定顶点信息 setVertexArray
9.调用setOpenGlDrawCallback绘制
10.updateWindow 刷新窗口
11.setOpenGlDrawCallback 结束
代码下载地址:
https://download.csdn.net/download/yinhou1771/11304361