PTAM 编译安装 on MAC(mavericks)
最近有需要研究PTAM,所以需要在我的MAC上编译安装,整个过程让人非常崩溃各种问题陷阱。现在整理一下编译过程。我已经成功在MAC上编译。那么接下来我会详细讲解整个过程:
注意: 部分链接可能需要翻墙(政府就知道防范异己者但也影响了我们正常的学术交流)
1. 先安装 blas & lapack
- LAPACK, see http://www.netlib.org/lapack/
- BLAS, see http://www.netlib.org/blas/
先安装BLAS ,需要gfortran 编译器,所以下个gfortran编译器事先,要GNU标准的。
打开终端,然后cd 到BLAS目录
$ make
然后将获得的blas_Linux.a 改名 为 libblas.a 并将改名后的文件拷贝到 /usr/local/lib/
同理cd 到lapack 然后
$make
然后将获得的liblapack.a 如果不为这个名字改一下 并将改名后的文件拷贝到 /usr/local/lib/
2. 安装 ncurses 直接在终端下载安装
$ curl -O ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz
$ tar -xzvf ncurses-5.9.tar.gz
$ cd ./ncurses-5.9
$ ./configure --prefix=/usr/local \
--without-cxx --without-cxx-binding --without-ada --without-progs --without-curses-h \
--with-shared --without-debug \
--enable-widec --enable-const --enable-ext-colors --enable-sigwinch --enable-wgetch-events \
&& make
$ sudo make install
3. 安装TooN 非常简单
$git clone https://github.com/edrosten/TooN.git toon
$cd toon
$./configure
$make install
4. 安装libdc1394
不要从homebrew直接安装 ,因为他默认是64-bit编译的。我们需要32-bit 编译 所以下载安装
libdc1394 下载
$CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32" ./configure --disable-sdltest
$make -j8
$make install
5. 需要一些 libtiff, libjpeg, libpng 库 直接 从homebrew 安装就可以 还需要事先安装 xquarz x11(从网上找下载安装)
拿libpng 为例:(需要安装homebrew)
$brew install libpng
其他类似
6.安装 libcvd
$git clone https://github.com/edrosten/libcvd.git libcvd
$cd libcvd
$vi configure.in
# 修改第 483 行 (如果不会用vi可以直接打开这两个文件 configure.in 和 cvd_src/image_io/cvdimage.cxx 修改)
# 将 int main(){InitCursor();EnterMovies();return ;}])],
# 改为:
# int main(){EnterMovies();return ;}])],
# 去掉 580 行:
# a=
vi cvd_src/image_io/cvdimage.cxx
# 修改第 45 行
# #ifdef __GNUC__
# 为:
# #if defined __GNUC__ && !defined __clang__
$ autoconf
# Run XQuartz before configure
$Xquartz &
CPPFLAGS="-D_REENTRANT -I$HOME/include" CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32 -L. -L/usr/lib" ./configure --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib --without-ffmpeg --disable-fast7 --disable-fast8 --disable-fast9 --disable-fast11 --disable-fast12
$make -j8
$make install
7 安装 gvars3
需要事先安装依赖库 readline 直接从homebrew安装
$brew install readline
从Git 安装 gvars3 (注意检查你下载的 readline 版本 修改下面路径中的版本 例如6.3.6)
$git clone https://github.com/edrosten/gvars.git gvars
$cd gvars
$CPPFLAGS="-I/usr/include -I/usr/local/Cellar/readline/6.3.6/include" CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32 -L/usr/lib -L/usr/local/Cellar/readline/6.3.6/lib" ./configure --disable-widgets
$make -j8
$make install
8 安装 PTAM
ptam 下载
修改 /build/OSX/ 中的两个文件
首先makefile
将 -I/usr/include -I/opt/X11/include -I/usr/local/include 添加到 COMPILEFLAGS
将 -L/usr/lib -L/opt/X11/lib -L/usr/local/lib 添加到 LINKFLAGS
将 -arch i386 -m32 添加到CC 后面
去掉有 /Developer/Tools/Rez 的两行
再来修改 VideoSource_OSX.cc
添加 头文件
#include <unistd.h>
终端 CD 到这个问目录
$ make -j8
编译成功后会有 CameraCalibrator 和 PTAM两个可执行文件 。
如何使用 可以看这个 网址 http://www.robots.ox.ac.uk/~gk/PTAM/usage.html (需要翻墙)
摄像头一定要 外置USB 摄像头 ,内置的不可以。
PTAM 编译安装 on MAC(mavericks)的更多相关文章
- linux 7z 命令编译安装,mac安装p7zip
linux 7z 命令编译安装 7zip是一个开源的压缩软件 7z格式是压缩率最高的格式 服务器备份 数据几个g 要是tar压缩下载的话 时间太长 7zip压缩出来体积很小 首先安装 我这是 ce ...
- nginx编译安装on mac
一.编译安装模块 如果是原有包中就有的模块,编译时, ./configure --with-xxx 就可以, 如果是第三方模块,可使用 --add-module, 如果有多个模块的话,只需要多次使用- ...
- Mac编译安装swfTools
Mac编译安装swfTools Mac编译安装swfTools 下载源码 解压源码 安装依赖项 ./configure执行配置或者执行如下配置命令: 需要注意这里存在部分代码错误,需要修改解决后执行 ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- Mac Pro 编译安装 Redis-3.2.3
Redis官方下载地址:http://redis.io/download Redis安装 cd /usr/local/src/redis-3.2.3 sudo make sudo make insta ...
- 记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程
买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...
- Mac Pro 编译安装 Nginx 1.8.1
#下载相关源码包,统一放到 /usr/local/src 目录下: http://nginx.org/download/nginx-1.8.1.tar.gz http://zlib.net/zlib- ...
- mac下Nginx+lua模块编译安装
Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...
- linux(mac) 编译安装MySQL
Reference: https://blog.csdn.net/Tzhennan/article/details/80565235 官方下载地址: https://dev.mysql.com/do ...
随机推荐
- 补发:用Meal Prep+模块化饮食来减肥之实操
自从上次读到仰望尾迹云 老师的模块化饮食的帖子,再了解了一些Meal Prep的内容,结合着做Meal Prep健康餐至今已经快一个半月了.整体感觉还可以,所以在这里讲一下自己的心得体会. 分为三个部 ...
- linux防火墙开启端口
1.使用命令查看端口开启情况(下图为安装时未选择开启防火墙) [root@fullstack ~]# iptables -L -n Chain INPUT (policy ACCEPT) target ...
- Autoit中用PrintWindow替代ScreenCapture函数实现截图
想截取躲在后面的窗体或控件,找到了PrintWindow函数,幸运的是Autoit3也对此进行了封装以方便使用. 于是乎,将帮助文件里的_WinAPI_PrintWindow()实例改写了一下,以替代 ...
- nubia Z5 mini 小牛 黑砖qhsusb dload修复
给手机分区,用了分区助手,将一些分区移动. 结果分区坏了,只有两三个分区在电脑显示,当时晕菜把数据线拔了重插. 手机变砖,不能启动,黑屏,不能进recovery... 参考 http://bbs.nu ...
- calendar的一些操作
一.通过分析日期函数,根据日期进行一系列操作,例如:我们需要知道2个时间段中所有的日期等等. 由于Calendar 类是一个抽象类,因此我们不能通过new来获取该对象的实例.我们可以通过其类方法 ge ...
- dom 无法找到 body节点问题
最近在学习html dom节点知识时候,对照代码自己敲了一边,始终获取不到文档中的body对象,代码如下(未修改前): <!doctype html> <html> <h ...
- iOS6新特征:UICollectionView介绍
http://blog.csdn.net/eqera/article/details/8134986 1.1. Collection View 全家福: UICollectionView, UITab ...
- Decode Ways
https://leetcode.com/problems/decode-ways/ A message containing letters from A-Z is being encoded to ...
- WebForm 分页、组合查询--2017年1月5日
sql = "select * from Commodity"; hs = new Hashtable(); if (txt_name.Text.Trim() != "& ...
- EndNote(一)之基本介绍
作为一个经常看文献的人,发现看了很多文献,但是之后需要再找某一篇文献的时候,却无法找到文献在哪里了.混乱的文献管理方式,浪费了很多时间在翻阅自己已经看过的文献之中.这是一件很头痛的事情,才想起借助软件 ...