AliceVision代码阅读【1】

前言

主要讲的是代码是如何运行的,并且对于原理部分,补充《SLAM14讲》之外的内容(默认大家读过此书)和一些C++内容。作者AliceVison下载的日期是2022年7月29日,因为作者会把代码函数打在前面,因此下载日期可能是一个关键。

此外,作者使用vscode阅读代码,通过右键可以找到函数、结构、类的具体实现,在后文中以嵌套的方式来体现,因此不表明具体文件名称。

最后,作者只会讲3D重建的关键步骤,不会把每个main函数都讲,具体可以看我之后的文章。

代码部分

meshroom应该只是用python写了一个接口,实际上的调用还是AliceVision里面的代码

虚函数的讲解:https://blog.csdn.net/daaikuaichuan/article/details/88364336重点:当使用类的指针调用成员函数时,普通函数由指针类型决定,而虚函数由指针指向的实际类型决定;执行子类构造函数之前一定会执行父类的构造函数同理,执行子类的析构函数后,一定会执行父类的析构函数这也是为什么我们一直建议类的析构函数写成虚函数的原因。纯虚函数:https://www.cnblogs.com/blackandwhite/p/12496201.html

main_cameraInit.cpp→aliceVision_cameraInit

  • [138-245]使用boost::program_options对输入参数进行配置https://blog.csdn.net/qq_45034517/article/details/115601546
    • try catch判断输入参数是否完备https://www.cnblogs.com/MrYuan/p/4800257.html
  • [245-337]对每一个输入的参数进行处理
  • [338]判断允许的相机类别
  • 【356-385】从json文件里面获得相机参数、图片信息。这个json文件应该是之前生成,这里先不追究他是怎么生成的。
    • 【359】loadjson函数,相关信息保存在sfmData这个变量里面
      • 用boost::property_tree读取json文件,读取的是每个元组里面的成员,通过get_child.second函数就能得到元组每个成员的值(中括号里面的每个用逗号分开的值)
      • 【547】loadIntrinsic函数读取相机内参,
      • 【554-610】读取每个图片的信息
        • 【566】loadView函数,读取图片ID,路径,对应哪个内参,metadata信息
        • 【571-610】建立每个图片与内参之间的联系
  • 【393-688】判断之前是否已经记录过内参,不然就自己建立
  • 【690-721】对rig文件进行操作(不是很明白rig文件这里先跳过)
  • 【723-748】对pose文件处理,处理长曝光情况,用中间时刻位姿来代表图片的位姿
  • 【748-817】对之前没有内参情况进行报错或者warining
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值