第1章 开发准备 1
1.1 MR简介 1
1.2 硬件开发环境的搭建 1
1.2.1 硬件的准备和连接 5
1.2.2 建立FPGA工程 6
1.2.3 配置FPGA 10
1.2.4 BIT文件转换成MCS文件 14
1.2.5 烧录MCS文件到Flash 16
1.3 软件开发环境的准备 18
1.3.1 下载并安装OpenCV 18
1.3.2 添加OpenCV路径到系统环境变量 20
1.3.3 Visual Studio中OpenCV工程的创建 23
第2章 开发基础 32
2.1 Camera开发基础 32
2.2 USB3.0输出 34
2.2.1 UVC简介及使用说明 34
2.2.2 FPGA中UVC相关逻辑的说明 36
2.3 FPGA简介 39
2.4 软件理论介绍 39
2.4.1 数字图像基础 39
2.4.2 摄像机模型和坐标系 40
2.4.3 计算机图形学基础 41
第3章 开发实战 46
3.1 硬件主板设计 46
3.1.1 图像传感器电路设计 46
3.1.2 DDR3电路设计 49
3.1.3 USB 3.0电路设计 49
3.2 FPGA实现数字图像处理 53
3.2.1 顶层设计 53
3.2.2 上电时序 54
3.2.3 时钟管理 54
3.2.4 按键处理 54
3.2.5 曝光控制 56
3.2.6 摄像头信号重产生 57
3.2.7 像素位宽处理 58
3.2.8 Bayer转RGB 59
3.2.9 RGB转YC 60
3.2.10 DDR3视频帧缓存 61
3.2.11 曝光融合 64
3.2.12 输出选择 67
3.2.13 直方图均衡 68
3.2.14 IMU数据整合到视频流 69
3.3 双目摄像机校准与视频透视 71
3.3.1 相机内参数 71
3.3.2 如何求相机参数 73
3.3.3 参数文件说明 79
3.3.4 双目视频透视源码工程 80
3.4 VR场景开发 82
3.4.1 3DOF VR概念与简介 82
3.4.2 用VMG-PROV实现3DOF VR应用 83
3.5 利用VMG实现SLAM定位及环境感知AR应用 87
3.5.1 SLAM与ORB-SLAM2 87
3.5.2 利用VMG-PROV运行ORB-SLAM2进行定位并在Unity中制作AR应用 88
附录 95
参考文献 98