facebook surround360 环境配置,编译,测试(生成双目立体全景图)-程序员宅基地

技术标签: C/C++  VR直播  图像处理  linux  虚拟现实  全景图  开源  surround360  VR  

surround360是facebook开源的一套集采集,渲染与一体的全景内容制作解决方案,其中使用到了诸多开源库,花了几天时间才把它跑通,下面就记录一下其中的一些注意事项。

项目介绍与测试样例

环境配置

  • 操作系统: ubuntu 16.04 (其他版本会多很多坑,可以考虑使用虚拟机,我就是用的WMware虚拟机
  • python: ubuntu系统自带,python 2.7
  • 其他:内存8G,硬盘40G。(在编译中间如果内存比较小可能会比较慢或者出错

编译

重要依赖库简介
  • 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)以及空
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smallflyingpig/article/details/79451890

智能推荐

Java课程设计-基于网络的彩票购买程序-程序员宅基地

文章浏览阅读773次。彩票购买系统

用好SVN与Git,版本管理都不是问题-程序员宅基地

文章浏览阅读723次。介绍一下SVNSVN:代码控制器(版本控制器),主要是为了多人协同开发项目,管理代码。也可以管理个人代码。也叫程序界的”后悔药“。SVN(是subversion的简称)是近年来一款基于C/S架构的,非常优秀的版本控制器(可以简单的理解为管理代码的工具,在多人协同开发的时候,尤其重要),与传统的CVS(90年代左右,一个非常优秀的代码管理器,是代码管理器的鼻祖)管理工具类似。..._3、代码管理git是分布式的,svn是集中式,但都可以进行代码的版本管理

请问:关于织梦dedecms点击导航上的父栏目进去默认显示第一个子栏目的列表的问题...-程序员宅基地

文章浏览阅读846次。要设置织梦dedecms点击导航上的父栏目进去默认显示第一个子栏目的列表,就按照如下图所示的方法进行操作,为什么 点击导航上的父栏目出现死循环呢,根本浏览不了网页。请各位大神指点指点,为什么点击导航上的父栏目进去默认显示不了第一个子栏目的列表我修改的程序如下: 收起 匿名 | 浏览 1439次发布于2015-07-16 20:32 最佳答..._dede 点击父级栏目跳转第一子栏目

关于Windows 10 C:/Users/用户名/AppData里面的文件_c向win appdata中写入文件-程序员宅基地

文章浏览阅读10w+次,点赞11次,收藏66次。C:/Users/用户名/AppData里面默认有三个文件夹,分别是Local,LocalLow,Roaming,简单地来说,都是用来存放软件的配置文件和临时文件的,里面有很多以软件公司或者软件名称命名的文件夹,理论上都可以放心删除。例如,如果安装了Photoshop CS4,在AppData搜索Adobe,将搜到的文件和文件夹全部删除,然后启动Photoshop,已删除的文件又会重新生成,但体积_c向win appdata中写入文件

图解HTTP协议——数据通信的基石-程序员宅基地

文章浏览阅读2.6k次。互联网及其周边技术的飞速发展已经使得计算机网络技术迅速成为一种基础设施。作为信息通信基础设施的一部分,HTTP协议已经成为事实上的国际标准协议。但是对于像我这样一名工程师而言,理解HTTP协议背后的一些基本概念、术语和算法原理仍然十分重要。因此,我选择写一篇《图解HTTP协议——数据通信的基石》,试图通过一些具体的例子,帮助读者快速理解HTTP协议背后的数据流动机制、协议模型、报文结构、状态码等基础知识。本系列文章共分为六章,第一章从宏观的角度对互联网及互联网技术发展进行介绍;

Python调用海康SDK对接摄像机_网络sdk嵌入摄像头-程序员宅基地

文章浏览阅读284次。【代码】Python调用海康SDK对接摄像机。_网络sdk嵌入摄像头

随便推点

用fxc.exe编译shader文件(*.fx, *.hlsl)的设置-程序员宅基地

文章浏览阅读528次。原文出自:http://msdn.microsoft.com/en-us/library/windows/desktop/bb509709(v=vs.85).aspx#Profiles拿DX11 SDK中BasicCompute11为例子右击BasicCompute11.hlsl -> properities ->Custom Build Tool -> comm..._shader .fx .hlsl

JAVA面试题(笔试改错题,附答案)_技术面试改错问题-程序员宅基地

文章浏览阅读2.4k次。JAVA面试题(笔试改错题,附答案)1.abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}大侠们,这有何错误?答案: 错。abstract method必须以分号结尾,且不带花括号。2.public class Something { voi_技术面试改错问题

多美商城实战-01-引入REST Framework_vue+drf 从零-程序员宅基地

文章浏览阅读345次。1.在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。2.在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的:。增:校验请求数据->执行反序列化过程->保存数据库->将保存的对象序列化并返回。删;判断要删院的数据是否存在->执行数据库删除。_vue+drf 从零

UEFI学习整理-认识项目Pkg下的文件_ufⅰle、pkg-程序员宅基地

文章浏览阅读234次。UEFI学习整理-认识项目Pkg下的文件fdf文件fdf文件_ufⅰle、pkg

matlab的积分函数_matlab积分函数-程序员宅基地

文章浏览阅读6.2w次,点赞28次,收藏208次。1.trapz函数MATLAB中的trapz()函数是基于复化梯形公式设计编写的,其一般调用格式为:I=trpaz(x,y,dim)其中x,y是观测数据,x可以为行向量或列向量,y可以为向量或矩阵,y的行数应等于x向量的元素个数;dim表示按维进行求积,若dim=1(缺省值),则按行求积,若dim=2,则按列求积。如:计算函数y=x^3-2x-3,为了计算在[0,1]上的积分_matlab积分函数

label标签的属性-程序员宅基地

文章浏览阅读640次。//label标签的属性 1 - (void)viewDidLoad { 2 //初始化一个label1标签对象,初始化有很多方法,最原始的就是init,此处用带有frame的方法 3 UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(30, 30, 300, 30)]; 4 //设置内..._label的颜色属性