sudo apt-get install libboost-dev libboost-doc sudo apt-get install liblapack-dev sudo apt-get install libncurses5-dev sudo apt-get install libpng-dev sudo apt-get install libtiff-dev sudo apt-get install libdc1394-22-dev sudo apt-get install mesa-common-dev sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install freeglut3-dev
sudo apt-get install freeglut3-devsudo apt-get install libblas-devsudo apt-get install liblapacke-dev 安装完后,开始正式按顺序编译TooN,libcvd,gvars3,lib3ds。 三个文件夹分别放在/home/usrName/ptamTool/下 ./configure ; make ;sudo make install 1、TooN 进入TooN目录, 依次 ./configure ; make ;sudo make install。就可以了 2、libcvd 先对该目录下的个别文件进行处理: a、libcvd/cvd/image.h 内添加 #include <stddef.h> ,防止不能识别 ptrdiff_t 类型(该类型位于stdde.h头文件下)。 b、libcvd/cvd_src/convolutin.cc 内添加 #include <cstdio> 。 c、编辑 libcvd/cvd_src/Linux/v4l2buffer.cc , 将 #if CVD_KERNEL_MAJOR == 2 && CVD_KERNEL_MINOR == 4 #define USE_24 #define K24(X) X #define K26(X) #elif CVD_KERNEL_MAJOR == 2 && CVD_KERNEL_MINOR == 6 #define K26(X) X #define K24(X) #else #error "Can't do v4l2 for this kernel version" #endif 替换为 #define K26(X) X #define K24(X) d、编辑 libcvd/cvd/Linux/v4l1frame.h 将 #ifdef CVD_INTERNAL_HAVE_STRANGE_V4L2 #include <videodevx/videodev.h> #else #include <linux/videodev.h> #endif 替换为 #include <linux/videodev.h>, 并且在 /usr/include/linux内创建一个 videodev.h文件, videodev.h文件内容为: #include "/usr/include/libv4l1-videodev.h #include "/usr/include/linux/videodev2.h e、编辑 ./configure 操作后下的 libcvd/cvd/config.h 找到 CVD_KERNEL_MAJOR ,CVD_KERNEL_MINOR 改为 #define CVD_KERNEL_MAJOR =2 ;#define CVD_KERNEL_MINOR=6 。 f、编辑libcvd/Makefile 文件 在 CVD_OBJS 下添加 cvd_src/Linux/v4lbuffer.o \ cvd_src/Linux/videosource_v4lbuffer.o \ 记得按文本内的形式添加 " \ “. g、如果是在ubuntu 64位使用 > gcc 4.5,会报 int32_t未定义错误,则需要在错误文件上加 #include <stdint.h> 完成了上述后,就可以按顺序 ./configure --without-ffmpeg --without-mmx --without-v4l1buffer --with-v4l2 或者 ./configure --without-ffmpeg应该也可以。 后 make ,最后 sudo make install。 3、gvars3 先修改 gvars3/seriallize.h文件,添加 #include <cstdio> 而后进入目录按顺序: ./configure --disable-widgets ; make ; sudo make install 4、lib3ds 进入目录后 ./configure ; make ; sudo make install 执行ldconfig ,如果没执行通过也无所谓。 上述完成了相应包的安装。上述包安装后,头文件啥的都是放在/usr/local/include内,库文件都在/usr/local/lib内。 下面正式PTAM / PTAMM 编译,两个的过程是一样的。 两者的编译的话,先将文件目录下 PTAM/Build/Linux 所有文件拷到 PTAM目录下(文件目录下 PTAMM/Build/Linux 所有文件拷到 PTAMM目录下),也就是与其他.h .cc文件同目录。 然后修改 Makefile 文件 a、在 LINKFLAGS 后面添加 :-lGLU -lGL -lblas -llapack b、我是USB摄像头,所以修改 VIDEOSOURCE=VideoSource_Linux_V4L.o 。 保存后,make 一下,就可以了。 执行时,先执行 CameraCalibrator 进行相机参数调整。 如果出现 V4LBuffer: "V4L2: VIDIOC_STREAMON" ioctl failed on /dev/video0: Invalid argument ,把USB拔出后,再插入。再执行CameraCalibrator试试。 如果要验证USB摄像头可否用,在 ubuntu软件中心安装cheese,启动后测试下摄像头可否工作。 http://blog.csdn.net/xiaowang629/article/details/40078097
ptam依赖
最新推荐文章于 2018-12-26 16:05:42 发布