HololensForCV代码阅读

二次信任 提交于 2020-02-08 10:28:03

参考网页

修改代码的突破口:

  • 要想修改方块显示位置,需要修改arucoMarkers(个数修改)

概念

  • float4*4
struct float4x4
    {
        float m11, m12, m13, m14;
        float m21, m22, m23, m24;
        float m31, m32, m33, m34;
        float m41, m42, m43, m44;
      }
  • Identity Matrix:单位矩阵

不明白的概念:

  • std::vector<std::vector<cv::Point2f>> arucoMarkers, arucoRejectedCandidates;这里Point2f的作用是什么?坐标系应该是三维的
  • 165行auto leftDetection = leftDetectionIterator.second;second的作用
  • 跟踪的时候为什么使用两个传感器
  • 检测的时候为什么使用一个传感器
  • 187行Eigen::Vector2f x = (A.transpose() * A).inverse() * (A.transpose() * y);的意思
  • 192行triangulatedMarkerCorner.point = (a + b * x[0] + c + d * x[1]) * 0.5f;的意思
  • [ ]

函数的作用

  • StartHoloLensMediaFrameSourceGroupenabledSensorTypes记录设备允许使用的传感器,备选项有ShortThrowToFDepth, ShortThrowToFReflectivity, LongThrowToFDepth, LongThrowToFReflectivity, VisibleLightLeftLeft, VisibleLightLeftFront, VisibleLightRightFront, VisibleLightRightRight,

    _holoLensMediaFrameSourceGroup用于每种传感器的传感器帧采集。
    接下来遍历enabledSensorTypes,将enabledSensorTypes中记录的传感器设置为可使用。
    接下来异步执行create_task:将_holoLensMediaFrameSourceGroupStarted设置为True

aruco.cpp

参考网页

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!