opencv图像转换为opengl的texture

 //opengl
#include <GL/glew.h>
#include <GL/freeglut.h>

GLuint left_Tex;
GLuint right_Tex;

// GLUT initialization
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH );

    // Configure Window Postion
    //glutInitWindowPosition(50, 25);

    // Configure Window Size
    glutInitWindowSize(10, 10);

    // Create Window
    glutCreateWindow("ZED OGL interop");

    // init GLEW Library
    glewInit();
    // Create an OpenGL texture and register the CUDA resource on this texture for left image (8UC4 -- RGBA)
    glEnable(GL_TEXTURE_2D);
    glGenTextures(1, &left_Tex);
    glBindTexture(GL_TEXTURE_2D, left_Tex);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    //glTexCoord2f(0, 1.0);
    glBindTexture(GL_TEXTURE_2D, 0);//0 represents unbind status

以上是初始化和开辟内存的工作的,接下来就是使用的时候将数据导入到内存上。

            glBindTexture(GL_TEXTURE_2D, right_Tex);//选中要使用的内存号
            glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, right_extension.cols, right_extension.rows, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, right_extension.ptr());//GL_BGRA_EXT,right_extension is cv::Mat
            glBindTexture(GL_TEXTURE_2D, 0);//用完解绑

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值