关于使用cv::ogl在cv::cuda::gpumat上加速绘制

首先需要在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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章