opencv + opengl显示摄像头视频流
完整代码github
建议学习LearnOpenGL教程,学到入门的纹理一节
1.OpenGL依赖安装
1.1. 安装 GLFW
sudo apt install libglfw3 libglfw3-dev
libglfw3:GLFW 运行时库
libglfw3-dev:GLFW 开发库(用于编译)
1.2.安装 OpenGL 相关依赖
sudo apt install libgl1-mesa-dev xorg-dev
libgl1-mesa-dev:Mesa OpenGL 开发库
xorg-dev:X11 相关依赖(GLFW 需要 X11 进行窗口管理)
1.3.测试
2.opencv 获取摄像头帧数据
流程如下,完整代码见github
int main()
{
VideoCapture cam;
cam.open(0);
while (true)
{
cam.read(frame);
if (waitKey(1) == '1')
{
break;
}
}
return 0;
}
3.opengl显示
学习LearnOpenGL教程,学到入门的纹理一节,知识点足够写这个显示代码,显示的基本初始化流程如下,
init();
m_shader = std::make_unique<Shader>("../shader/player.vs", "../shader/player.fs");
createVertex();
createTexture();
再加上运行时的更新及渲染即可完成显示
player.updateFrame(rgbFrame.data);
player.render();