使用OPENGL显示摄像头采集的实时图像

nobita88513 2011-09-26 05:56:53
使用OPENGL显示摄像头采集的图像,可是显示出来的是全黑图像,调试后摄像头采集部分是没问题的,可是只能把采集第一帧的图像数据传给储存纹理数据的存储区,哪位高手知道这是什么问题?
...全文
679 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nobita88513 2011-10-20
  • 打赏
  • 举报
回复
这个是用什么函数设置的,我初学不太懂,请指教
天鹅梦 2011-10-14
  • 打赏
  • 举报
回复
说明你的观察空间视锥设置没有让你的纹理在深度为0的情况下可见
nobita88513 2011-10-11
  • 打赏
  • 举报
回复
找到问题了,是glVertex3f( 11.0f, 8.3f, 0.0f);中最后一个参数设置为-1才可以显示,为什么啊
天鹅梦 2011-10-10
  • 打赏
  • 举报
回复
在glTexSubImage2D之前少了一句绑定纹理,比如
glBindTexture(GL_TEXTURE_2D, TexName);
而这个TexName是通过
glGenTextures(1, &TexName);
生成的,记住只须生成一次,后面可无限制被绑定使用
nobita88513 2011-10-10
  • 打赏
  • 举报
回复
这是绘出纹理贴图部分的代码
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTexSubImage2D (GL_TEXTURE_2D, 0, 0, 0, 512, 512,GL_BGR_EXT,GL_UNSIGNED_BYTE, data);
glBegin(GL_QUADS);
glTexCoord2f(1.0f, 1.0f); glVertex3f( 11.0f, 8.3f, 0.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f(-11.0f, 8.3f, 0.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f(-11.0f, -8.3f, 0.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f( 11.0f, -8.3f, 0.0f);

glEnd();
glFlush ();
请问这段代码哪里出错了,怎么就是画不出图像来,data中存放摄像头采集回来的图像数据
天鹅梦 2011-10-07
  • 打赏
  • 举报
回复
OpenGL显示,肯定得用纹理贴图方式来做对吧,你用纹理替换那个函数就可以了
wangyingyingqq 2011-10-03
  • 打赏
  • 举报
回复
顶起,本人最近也要做这方面的,求解
ljn398431 2011-09-26
  • 打赏
  • 举报
回复
帮顶下

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧