Advertisement

Mastering OpenCV - Markerless AR

阅读量:

前面两篇计算出模板图像在相机坐标系中的位姿变换关系式,因此现在已经获得了透视校正参数(包括相机内参数和畸变参数)以及外参数(即景物视图变换矩阵,由旋转矩阵和平移向量构成),这基本上确定了如何将虚拟三维物体投射到显示屏幕上所需的变换关系式。
四要素如下:

  1. 相机最新的捕获图像
  2. 相机标定得到的校正矩阵
  3. 3D模型的姿态信息(如有时需要显示)
  4. 与OpenGL相关的内部数据(如纹理ID等)
    下面将详细分析OpenGL渲染三维物体的过程。
  5. OpenGL初始化。
复制代码
    ARDrawingContext drawingCtx("Markerless AR", frameSize, calibration);//这个应该是OpenGL初始化的阶段。

在ARDrawingContext.cpp中是这个函数的具体实现:

复制代码
    //在OpenGL的初始化中,调用namedWindow使用最后一个参数调用cv::WINDOW_OPENGL,把OpenGL接口到highgui的模块中,设置窗口大小。
    //然后调用setOpenGLContext建立窗口关联(参数就是窗口名称),为了在这个窗口上画虚拟物体,需要使用回调函数,建立方法就是setOpenGLDrawCallback,
    //注意这个函数第一个参数是窗口名称,第二个参数是回

全部评论 (0)

还没有任何评论哟~