ubuntu16.04下笔记本自带摄像头编译运行PTAM

转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147

个人邮箱:[email protected]

北航飞控一体化技术重点实验室



PTAM是视觉slam的一种开源算法,并做了关于增强现实的应用。代码是完全开源的,可以从github上获取:地址

作者2008年的文章 Parallel tracking and mapping for Small AR workspaces

支持多个系统上编译运行,可以在作者的项目主页上获取一些在其他系统上的安装教程,作者主页:http://www.robots.ox.ac.uk/~gk/

我主要尝试在ubuntu16.04上尝试对ptam进行编译安装。

具体的安装过程

一  依赖库的安装



1 安装 build工具

sudo apt-get update
sudo apt-get install build-essential cmake pkg-config

2 更新C++库

sudo apt-get install libboost-dev libboost-doc

3 安装线性代数的低级库

sudo apt-get install liblapack-dev libblas-dev

4 图像IO 和 摄像机驱动

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libv4l-dev

5 视频IO, 编解码和 视频显示库

sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libavdevice-dev libsdl-dev
sudo apt-get install libgtk2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev 

6 OpenGL

sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-de

二 我们要安装ptam的三个第三方库



TooN libcvd Gvars3有依赖关系,所以一定要按照顺序安装,还有就是他们的版本问题也可能造成安装不成功,所以,推荐采用以下的版本搭配,我经过验证是可以编译成功的,在https://github.com/slowlythinking/PTAM 中获得(其中也包含PTAM的源码,但是存在问题);

TooN库一定要先安装

从git上获取这三个库

git clone https://github.com/slowlythinking/PTAM.git

然后把其中的PTAM文件夹删除,里面的文件存在问题,我们要重新编译。

TooN:

cd TooN

sudo ./configure && make && sudo make install

cd ../

libcvd:

cd libcvd

sudo ./configure --without-ffmpeg --without-v4lbuffer --without-dc1394v1 --without-dc1394v2 

sudo make

sudo make install

cd ../

Gvars3:

sudo git clone git://github.com/edrosten/gvars.git

cd gvars

sudo ./configure --disable-widgets

sudo make

sudo make install

最后,使安装后的libs生效

cd ../
sudo ldconfig

opencv的安装可以根据网上的教程自行安装。

三 编译PTAM



进入之前的PTAM目录,从github上获取最新的ptam源码

git clone https://github.com/Oxford-PTAM/PTAM-GPL.git ptam
cd ptam
git checkout feature/Linuxmint15
cd Src
make

编译成功会得到CameraCalibrator, PTAM两个可执行文件,CameraCalibrator用于预先对相机进行校正

四 运行PTAM



首先你需要下载一个棋盘格图片,执行相机标定,

进入到上一步的Src目录,执行./CameraCalibrator,根据提示,使用下图右上角的CapFrame取帧,至少取不同角度的4帧以上,取帧结束以后,按下Optimize,计算相机本质矩阵(焦距等相机参数)。包括焦距f,相机中心cx,cy,还有两个畸变系数。

./CameraCalibrator

标定完成后,输出得到一个camera.cfg文件,然后就可以接着执行 ./PTAM

CameraCalibrator运行完毕之后运行PTAM,开始运行时由于需要初始化地图,需要用户选取两帧作为初始化的数据输入,具体操作步骤为按下空格键,程序会计算出这一帧的FAST角点显示在图像上,然后做轻微平移,再次按下空格键,初始化完毕。界面右上方有Draw AR off和View Map on,作用分别是把虚拟物品(此处为四只眼睛)显示到平面上和显示软件所建地图信息。以下是运行截图

参考教程:

https://blog.csdn.net/shhu1993/article/details/47783077

https://blog.csdn.net/jinghouxiang/article/details/46998235

http://blog.sina.com.cn/s/blog_7b83134b0102wabk.html

原文地址:https://www.cnblogs.com/feifanrensheng/p/9014147.html

时间: 2024-10-13 15:18:49

ubuntu16.04下笔记本自带摄像头编译运行PTAM的相关文章

Ubuntu16.04下编译安装vim8

在Ubuntu16.04下编译安装vim8,并配置vim-plug插件管理器,以及安装YouCompleteMe等插件. 安装依赖 sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby

Ubuntu16.04下编译安装及运行单目ORBSLAM2

官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt-get install cmake sudo apt-get install git 2 安装Pangolin,用于可视化和用户接口 安装依赖项: sudo apt-get install libglew-dev sudo apt-get install libpython2.7-dev 先转到一个

ubuntu16.04下安装petalinux

ubuntu16.04下安装petalinux 参考https://www.cnblogs.com/vacajk/p/6146146.html 安装环境: 1. ubuntu 16.04 2. petalinux-v2015.4 3. 目标板:zynq 7010 SOC 安装步骤: 1. 在home目录下新建两个文件夹:petalinux和petalinux_installer两个文件夹,将安装包petalinux-v2015.4-final-installer-dec.run放到文件夹peta

【原创】Octovis在Ubuntu16.04下运行出现core dump的解决方案

本人SLAM研究新手,使用系统为Ubuntu16.04.本文原址:http://www.cnblogs.com/hitlrk/p/6667253.html 在学习SLAM的过程中,使用Octomap进行八叉树地图的建立,Octomap的编译安装没有出现问题,octovis模块也顺利安装.悲催的是,在我调用octovis模块打开已有的八叉树地图时,便会出现一大堆乱码,乱码最后有一个Core Dump. 这个错误和2016年时g2o_viewer在Ubuntu16.04下出现的错误一样,不过目前g2

ubuntu16.04下安装artoolkit5

目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是SLAM(Magic Leap).CG就没什么好说的,利用CV算法获取到的图形相关信息(比如CG中的模型矩阵.视图矩阵.投影矩阵)进行绘制.从这一点上来说Pokemon GO确实不能算作AR游戏,毕竟人家只是基于LBS的. 从目前来看vision based的AR系统才是主流.但是局限于我个人的见识,

ubuntu16.04下基于Python的OpenCV的安装

这几天一直在学习基于Python的OpenCV ,开发环境是在Ubuntu16.04下,学习的心得就是基于Python的OpenCV开发基本上就属于函数式编程了,OpenCV提供了大多数的功能函数,以及大多数的算法封装,并不需要从头开发,不需要重复的造轮子,需要的仅仅是将各个零部件进行组装.所以学习起来相对容易一些.但是这是建立在对于Python有一定的基础上的.首先是OpenCV的安装,本文以OpenCV3.4.1的安装为例, 1.首先去官网下载http://opencv.org/releas

Ubuntu16.04下,rabbimq集群搭建

rabbitmq作为企业级的消息队列,功能很齐全,既可以作为单一的部署模式,又可以做集群的部署模式 单一部署就不说了,就是在一台服务器上部署rabbitmq消息队列,可以参考我的博客:Ubuntu16.04下,erlang安装和rabbitmq安装步骤去安装部署 集群部署有好几种方式,具体使用哪一种,要根据自己的需求而定,这里主要介绍一下普通集群和镜像集群 普通模式 普通模式是集群的默认模式,集群中各个节点拥有相同的队列结构,但是队列的消息实体已保存在其中一个节点,当消费者consumer连接集

Linux入门(13)——Ubuntu16.04下将图片和pdf互转

Ubuntu16.04下将图片和pdf互转 将图片转为PDF: convert 图片 PDF convert pic.jpg pic.pdf 将PDF转为图片: convert PDF 图片 convert pic.pdf pic.jpg 但这样转出来的图片不怎么清晰,可以进一步设置参数. convert -verbose -resize 1000 -interlace none -density 300 -quality 300 main.pdf main.jpg 或者: convert -d

Linux:Ubuntu16.04下创建Wifi热点

Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1. 点击网络标志,打开网络的选项: 2. 点击 Edit Connections ,然后点击 Add 来添加一个新的wifi选项: 3. 选择 WiFi : 4. 做如下编辑: 编辑wifi的名字:SSID, 选择 Hotspot (热点)模式. 在 Wifi Security 页, 选择 WPA &