在ubuntu14.04下安装Opencv2.4.9
安装 OpenCV
步骤一:创建目录
mkdir opencv
cd /opencv/
步骤二:卸载任何以前安装的ffmpeg和x264软件
sudo apt-get -qq remove ffmpeg x264 libx264-dev
步骤三:安装一些依赖关系
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils
-安装ffmpeg
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg
Step 4: Download and extract OpenCV
步骤四:下载和解压提取OpenCV
1. 先从sourceforge上下载OpenCV的源码
wget -O opencv-2.4.9.zip http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip
2. 解压到任意目录
unzip opencv-2.4.9.zip
3. 进入源码目录,创建release目录
cd opencv-2.4.9
mkdir release
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
5. 进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下
cd release
6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
7. 安装
sudo make install
ORB SLAM之Pangolin安装(Ubuntu14.04)
安装Pangolin
1.pangolin是什么?
Pangolin是一个用于OpenGL显示/交互以及视频输入的一个轻量级、快速开发库,下面是Pangolin的Github网址:https://github.com/stevenlovegrove/Pangolin
2.我们为什么要用Pangolin?在哪里可以用到Pangolin?
ORB_SLAM2中需要有Pangolin的支持。
3.安装过程?
按照Github上面的教程走即可,非常简单(https://github.com/stevenlovegrove/Pangolin)。
(1)安装一些必要的库:
Glew:
sudo apt-get install libglew-devCMake:
sudo apt-get install cmake
Boost:
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
Python2 / Python3:
sudo apt-get install libpython2.7-dev
(2)在安装完上述依赖后,就可以开始安装Pangolin了,安装过程十分简单:
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j
(3)这时,你可能会遇到如下问题:
看得很头大是吧?没关系,只要看到错误信息中关键的内容就好了。
提示的错误大部分是跟openni.h和XnCppWrapper.h有关的。
而我们这里编译Pangolin时,并不需要用到OpenNI,可以在编译时将其屏蔽:
cd Pangolin/src
vim CMakeLists.txt (这里选择你自己喜欢的编辑器)
看到这里的OpenNI和OpenNI2的部分了吧,将其全部注释掉即可。
make -j
运行!!!
1. 使用usb_cam作为单目相机驱动
从https://github.com/bosch-ros-pkg/usb_cam下载usb_cam,放到工作空间catkin_ws/src下,catkin_make编译
cd /home/lzp/catkin_mono_orb/src/usb_cam
cd launch
gedit usb_cam-test.launch
<launch>
<node name="camera" pkg="usb_cam" type="usb_cam_node" output="screen" >
<param name="video_device" value="/dev/video0" />
<param name="image_width" value="640" />
<param name="image_height" value="480" />
<param name="pixel_format" value="yuyv" />
<param name="camera_frame_id" value="camera" />
<param name="io_method" value="mmap"/>
<remap from="/usb_cam/image_raw" to="/camera/image_raw" />
</node>
<node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
<remap from="image" to="/camera/image_raw"/>
<param name="autosize" value="true" />
</node>
</launch>
<remap from="/usb_cam/image_raw" to="/camera/image_raw" />
<remap from="image" to="/camera/image_raw"/>
对两句进行了修改
怎样把普通摄像头图像发布到ROS 的TOPIC
2. 中间过程与RGBD过程相同
3. 实现(分别开3个终端,主要运行此处就可以)
第一个终端
cd /home/moon/ORB_SLAM2
roscore
第二个终端 打开摄像头
cd /home/moon/catkin_ws
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
第三个终端 运行程序
cd /home/moon/catkin_ws
source /etc/profile
rosrun ORB_SLAM2 Mono /home/moon/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/moon/ORB_SLAM2/Examples/Monocular/TUM1.yaml
# 显示建图画面(ros indigo)
rosrun rviz rviz
~~~~~~~~~~~~~~~~~~以下为详细介绍~~~~~~~~~~~~~~~~~~~
二/打开摄像头
moon@moon-Precision-T1650:~/catkin_ws$ source devel/setup.bash
moon@moon-Precision-T1650:~/catkin_ws$ roslaunch usb_cam usb_cam-test.launch
三 运行最后程序
moon@moon-Precision-T1650:~/catkin_ws$ catkin_make
Base path: /home/moon/catkin_ws
Source space: /home/moon/catkin_ws/src
Build space: /home/moon/catkin_ws/build