surround360是facebook开源的一套集采集,渲染与一体的全景内容制作解决方案,其中使用到了诸多开源库,花了几天时间才把它跑通,下面就记录一下其中的一些注意事项。
项目介绍与测试样例
- 官网:https://facebook360.fb.com/facebook-surround-360/
- 开源代码:https://github.com/facebook/Surround360
- 测试样例:http://surround360.hacktv.xyz/sample/sample_dataset.zip
环境配置
- 操作系统: ubuntu 16.04 (其他版本会多很多坑,可以考虑使用虚拟机,我就是用的WMware虚拟机)
- python: ubuntu系统自带,python 2.7
- 其他:内存8G,硬盘40G。(在编译中间如果内存比较小可能会比较慢或者出错)
编译
- 官方指南:https://github.com/facebook/Surround360/tree/master/surround360_render
- 其他重要参考:http://blog.csdn.net/sunyolanda_cs/article/details/52448399
重要依赖库简介
- gflags/glog/gtest: google开源的命令行解析库,应用程序日志库,C++单元测试框架。
- folly: facebook的C++底层库,对boost的扩展和进一步封装。
- ceres: 解决优化问题的数值计算库。(google从2010年开始使用)
- opencv: Intel的计算机视觉库。(视觉研究人员必备技能)
- ffmpeg: 视频处理库。集音/视频采集,编码/解码/转码,推流,播放等功能为一体的开源库,音视频相关人员必备,市面上的播放器基本都是拿它稍微改一下就直接用了。
- colmap: 实现Structure-from-Motion (SfM) 和 Multi-View Stereo (MVS) 的开源库。
- Goory: 一个可以很容易把python的命令行输入转化为图形界面的开源库。
- PIL:python图像处理库(基本算是官方的图像处理库了)
- LLVM/Halide: 用于程序优化的两个库。LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空