<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/6269b2a70990925c045a0b7a/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6269b2a70990925c045a0b7a/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">机器人技术<span class="ff2"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_ _0"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_ _0"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span></span>中国科学技术大学软件学院实验讲义<span class="ff2"> </span></div><div class="t m0 x2 h3 y2 ff2 fs0 fc0 sc0 ls0 ws0">1 </div><div class="t m0 x3 h4 y3 ff1 fs1 fc0 sc1 ls0 ws0">实验<span class="_ _1"> </span><span class="ff3 sc0">4 <span class="_"> </span></span>视觉<span class="_ _1"> </span><span class="ff3 sc0">3D<span class="_"> </span></span>点云图构建与深度<span class="_ _2"></span>测量<span class="ff3 sc0"> </span></div><div class="t m0 x1 h5 y4 ff1 fs2 fc0 sc1 ls0 ws0">实验目的:<span class="_ _2"></span><span class="ff2 fs3 sc0"> </span></div><div class="t m0 x4 h6 y5 ff1 fs3 fc0 sc0 ls0 ws0">通过对<span class="_ _0"> </span><span class="ff2">RGB-D<span class="_"> </span></span>相机参数<span class="_ _3"></span>初始化、<span class="_ _3"></span>画面<span class="_ _3"></span>帧的拼接,<span class="_ _3"></span>了解机器<span class="_ _3"></span>视觉中深度图像处<span class="_ _3"></span>理的一般</div><div class="t m0 x1 h6 y6 ff1 fs3 fc0 sc0 ls0 ws0">工作流程,掌握<span class="_ _4"> </span><span class="ff2">OpenCV</span>、<span class="ff2">Eigen</span>、<span class="ff2">PCL<span class="_ _4"> </span></span>常见库的使用<span class="_ _3"></span>及运算接口。尝试<span class="_ _3"></span>自行搭建双目视觉</div><div class="t m0 x1 h6 y7 ff1 fs3 fc0 sc0 ls0 ws0">系统,实现对视图中<span class="_ _3"></span>各物体的深<span class="_ _3"></span>度测量。<span class="ff2"> </span></div><div class="t m0 x1 h5 y8 ff1 fs2 fc0 sc1 ls0 ws0">实验内容:<span class="_ _2"></span><span class="ff3 sc0"> </span></div><div class="t m0 x1 h6 y9 ff2 fs3 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff1">矩阵运算库<span class="_ _0"> </span></span>Eigen<span class="_ _0"> </span><span class="ff1">的安装与使<span class="_ _3"></span>用<span class="ff2"> </span></span></div><div class="t m0 x1 h6 ya ff2 fs3 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff1">彩色图、深度图<span class="_ _3"></span>的读取与参数<span class="_ _3"></span>提取<span class="ff2"> </span></span></div><div class="t m0 x1 h6 yb ff2 fs3 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff1">相机参数加载与<span class="_ _3"></span>使用<span class="ff2"> </span></span></div><div class="t m0 x1 h6 yc ff2 fs3 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="ff1">点云地图拼接<span class="_ _3"></span><span class="ff2"> </span></span></div><div class="t m0 x1 h6 yd ff2 fs3 fc0 sc0 ls0 ws0">5. <span class="_"> </span><span class="ff1">双目视觉系统标<span class="_ _3"></span>定与深度测量<span class="ff2">(<span class="_ _3"></span><span class="ff1">选做<span class="ff2">) </span></span></span></span></div><div class="t m0 x1 h5 ye ff1 fs2 fc0 sc1 ls0 ws0">实验设备:<span class="_ _2"></span><span class="ff3 sc0"> </span></div><div class="t m0 x1 h6 yf ff1 fs3 fc0 sc0 ls0 ws0">自带笔记本<span class="ff2"> <span class="_ _0"> </span>PC<span class="_"> </span></span>机摄像头<span class="_ _3"></span><span class="ff2">/USB<span class="_"> </span><span class="ff1">摄像头,安装<span class="_ _0"> </span></span>U<span class="_ _3"></span>buntu14.04<span class="_"> </span><span class="ff1">或以上系统,</span>O<span class="_ _3"></span>p<span class="_ _2"></span>e<span class="_ _3"></span>nCV<span class="_"> </span><span class="ff1">开发库</span> </span></div><div class="t m0 x1 h6 y10 ff1 fs3 fc0 sc0 ls0 ws0">注意事项:不使用树<span class="_ _3"></span>莓派<span class="ff2">, <span class="_"> </span></span>前<span class="_ _0"> </span><span class="ff2">4<span class="_"> </span></span>步不分组<span class="_ _3"></span>,第<span class="_ _0"> </span><span class="ff2">5<span class="_"> </span></span>步可分组实现<span class="ff3 fc1"> </span></div><div class="t m0 x1 h5 y11 ff1 fs2 fc0 sc1 ls0 ws0">预备知识:<span class="_ _2"></span><span class="ff3 sc0"> </span></div><div class="t m0 x1 h6 y12 ff2 fs3 fc0 sc0 ls0 ws0">1. <span class="_"> </span> <span class="_"> </span><span class="ff1">深度图像程序模<span class="_ _3"></span>型及坐标转换<span class="ff2"> </span></span></div><div class="t m0 x1 h6 y13 ff2 fs3 fc0 sc0 ls0 ws0">2. <span class="_"> </span> <span class="_"> </span>linux<span class="ff1">,</span>C++<span class="ff1">编程基础<span class="_ _3"></span>,<span class="ff2">Cmake<span class="_"> </span></span>编译器<span class="_ _3"></span><span class="ff2"> </span></span></div><div class="t m0 x1 h6 y14 ff2 fs3 fc0 sc0 ls0 ws0">3. <span class="_"> </span> <span class="_"> </span>Eigen<span class="_"> </span><span class="ff1">矩阵运<span class="_ _3"></span>算库,<span class="ff2">OpenCV<span class="_"> </span></span>图像处理库<span class="ff2"> </span></span></div><div class="t m0 x1 h6 y15 ff1 fs3 fc0 sc0 ls0 ws0">例程文件:<span class="ff2"> </span></div><div class="t m0 x5 h7 y16 ff2 fs3 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h6 y17 ff2 fs3 fc0 sc0 ls0 ws0">Color<span class="_"> </span><span class="ff1">和<span class="_ _0"> </span></span>depth<span class="_"> </span><span class="ff1">文件夹下<span class="_ _3"></span>分别放置了<span class="_ _0"> </span><span class="ff2">5<span class="_"> </span></span>张彩色和<span class="_ _3"></span>深度图,<span class="_ _5"></span>取自同一个<span class="_ _0"> </span><span class="ff2">RGB-D<span class="_"> </span></span>摄像机,<span class="_ _5"></span>按序号</span></div><div class="t m0 x1 h6 y18 ff1 fs3 fc0 sc0 ls0 ws0">配对;<span class="ff2"> </span></div><div class="t m0 x1 h6 y19 ff2 fs3 fc0 sc0 ls0 ws0">CMakeList.txt <span class="_"> </span><span class="ff1">为编译配<span class="_ _3"></span>置文件,<span class="ff2">joinMa<span class="_ _3"></span>p.cpp<span class="_"> </span><span class="ff1">为点云拼接主程序<span class="_ _3"></span>,<span class="ff2">pose.txt<span class="_"> </span></span>为相机参数。<span class="ff2"> </span></span></span></span></div><div class="t m0 x1 h7 y1a ff2 fs3 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y1b ff1 fs2 fc0 sc1 ls0 ws0">实验步骤:<span class="_ _2"></span><span class="ff3 sc0"> </span></div><div class="t m0 x1 h6 y1c ff3 fs3 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff1 sc1">环境准备</span> </div><div class="t m0 x1 h6 y1d ff1 fs3 fc0 sc0 ls0 ws0">安装<span class="_ _0"> </span><span class="ff2">opencv3</span>,版本<span class="_ _0"> </span><span class="ff2">3.<span class="_ _3"></span>4.0<span class="ff1">,</span>(<span class="ff1">由<span class="_ _0"> </span></span>17<span class="_"> </span><span class="ff1">级罗建洪与<span class="_ _3"></span>范涛同学测试验证,感谢<span class="ff2">^_^)<span class="_ _3"></span> </span></span></span></div><div class="t m0 x6 h6 y1e ff1 fs3 fc0 sc0 ls0 ws0">(参考)依赖:<span class="ff2"> <span class="_ _6"> </span> </span></div><div class="t m0 x7 h8 y1f ff4 fs3 fc2 sc0 ls0 ws0">sudo <span class="_ _7"> </span>apt-get <span class="_ _7"> </span>install <span class="_ _7"> </span>build-<span class="_ _3"></span>essential <span class="_ _7"> </span>cmake <span class="_ _7"> </span>libgtk2.<span class="_ _3"></span>0-dev <span class="_ _7"> </span>libvtk5-dev <span class="_ _7"> </span>libjpeg-d<span class="_ _3"></span>ev </div><div class="t m0 x7 h8 y20 ff4 fs3 fc2 sc0 ls0 ws0">libtiff4-dev libjasp<span class="_ _3"></span>er-dev libtbb-dev libo<span class="_ _3"></span>penexr-dev<span class="_ _3"></span> </div><div class="t m0 x1 h6 y21 ff1 fs3 fc0 sc0 ls0 ws0">实验例程使用<span class="_ _6"> </span><span class="ff2">o<span class="_ _2"></span>pencv3<span class="_ _3"></span>, <span class="_"> </span><span class="ff1">如果已经安装过<span class="_ _6"> </span></span>o<span class="_ _2"></span>pencv2,<span class="ff1">可以参考<span class="_ _3"></span>以下链接<span class="ff2">,</span>:<span class="ff2"> </span></span></span></div><div class="t m0 x1 h6 y22 ff2 fs3 fc0 sc0 ls0 ws0">opencv2<span class="_"> </span><span class="ff1">和<span class="_ _0"> </span></span>opencv<span class="_ _3"></span>3<span class="_"> </span><span class="ff1">共存安装</span> <span class="_"> </span><span class="ff5 fs2 fc2">http://blog.csdn.<span class="_ _2"></span>net/th<span class="_ _3"></span>ornsuge/<span class="_ _2"></span>article/details/71<span class="_ _8"></span>171272 </span></div><div class="t m0 x8 h7 y23 ff2 fs3 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h6 y24 ff3 fs3 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff1 sc1">安装并熟悉线性代数运算库<span class="_ _0"> </span></span>Eigen </div><div class="t m0 x4 h9 y25 ff1 fs3 fc0 sc0 ls0 ws0">Eigen<span class="_ _5"></span>(http://eigen.tux<span class="_ _3"></span>family.org)<span class="_ _5"></span>是常<span class="ff6">⽤</span>的 C++ 矩阵运算<span class="_ _3"></span>库,<span class="_ _5"></span>具有很<span class="ff6">⾼</span>的运算效</div><div class="t m0 x1 h9 y26 ff1 fs3 fc0 sc0 ls0 ws0">率<span class="_ _2"></span>。<span class="_ _2"></span>大<span class="_ _9"></span>部<span class="_ _2"></span>分<span class="_ _2"></span>需<span class="_ _2"></span>要<span class="_ _2"></span>在<span class="_ _2"></span> <span class="_ _9"></span>C++ 中<span class="_ _9"></span>使<span class="_ _2"></span><span class="ff6">⽤<span class="_ _2"></span></span>矩<span class="_ _2"></span>阵<span class="_ _2"></span>运<span class="_ _2"></span>算<span class="_ _2"></span>的<span class="_ _9"></span>库<span class="_ _2"></span>,<span class="_ _2"></span>都<span class="_ _2"></span>会<span class="_ _2"></span>选<span class="_ _2"></span><span class="ff6">⽤<span class="_ _9"></span></span> <span class="_ _2"></span>Eigen <span class="_ _2"></span>作<span class="_ _2"></span>为<span class="_ _2"></span>基<span class="_ _2"></span>本<span class="_ _2"></span>代<span class="_ _2"></span>数<span class="_ _2"></span>库<span class="_ _9"></span>,<span class="_ _2"></span>例<span class="_ _2"></span>如 </div><div class="t m0 x1 h6 y27 ff1 fs3 fc0 sc0 ls0 ws0">Google Tensorf<span class="_ _3"></span>low,Google Cere<span class="_ _3"></span>s,GTSAM 等,通过以下<span class="_ _3"></span>命令安装,并<span class="sc1">查找例程,定义矩</span></div></div><div class="pi" data-data='{"ctm":[1.568627,0.000000,0.000000,1.568627,0.000000,0.000000]}'></div></div>
</body>
</html>