Panoramix测试

GYF-20200727

Panoramix算法测试

一、Panoramix测试说明

  1. 测试代码来自 https://github.com/YANG-H/Panoramix
  2. 由单一全景图重建三维结构。
  3. 输入一张jpg格式的360度全景图,输出线段和贴图构成的3维结构;
  4. 测试环境64位win10;

二、安装panoramix

1. 下载panoramix

1)从的链接下载,将解压后的文件夹名字改为Panoramix
2)查看下面这3个文件,只有1k大小就是下载失败,点进网页单独下载,然后放到相应的位置:
Panoramix/thirdparty/cereal/cereal-master.zip
Panoramix/thirdparty/eigen3/eigen3.zip
Panoramix/thirdparty/googletest/googletest-master.zip

2. 环境部署

2.1 需要安装的软件

1)visual studio 2015 官网下载社区版;项目只支持vs2015,vs2015对应vc14;安装模块时不要选default,选择自定义安装,把所有关于c++的模块全选上,体积很大,安装很久;
2)IVF 因为后面编译时需要Fortran编译器,编译fortran又需要前面的C++编译器,所以一定装全;vs2015支持IVF2016、IVF2017、IVF2018,参考https://blog.youkuaiyun.com/weixin_43780543/article/details/89789435(或http://www.ddooo.com/softdown/124733.htm,两链接是同一文章)安装IVF2018,安装模块时注意把fortran相关的都装上;
   检查IVF是否与vs关联:打开visual Studio->file->new->Project,左侧列表有“Intel® Visual Fortran"选项就成功了
ivf和vs2015关联成功图示
3)matlab 64位版本,参考https://blog.youkuaiyun.com/qq_36734094/article/details/81252158
4)qt5 官网下载;安装包exe的名字都是x86,64位机器下载完全没问题;第一次安装需要注册,步骤简洁;安装模块时勾上64位msvc2015选项;
5)opencv 官网下载,安装编译好,不要自己编译安装;本测试安装版本3.4.1,该版本支持vc14和vc15;
6)CVX 参考https://github.com/cvxr/CVX
7)MATLABTools 根据github页面上panoramix作者的指引链接The MATLABTools repo is downloaded, the CVX path is set in file startup.m下载以后,放在和Panoramix同一级目录下,MATLABTools所有文件夹和子文件夹中的.mat和.exe文件有可能下载失败,需点进网页链接单独下载。
     把cvx的路径写到MATLABTools/startup_sample.m的第一行指定的位置;并把startup_sample.m重命名为startup.m ;
8)cmake 官网下载;该测试最低支持cmake2.8 ;
9)为vs配置OpenGL 参考https://www.cnblogs.com/zpcdbky/p/6724772.html

2.2 添加环境变量

1)Qt5 加到PATH:
C:\Qt\Qt5.12.9\5.12.9\msvc2015_64\bin
C:\Qt\Qt5.12.9\5.12.9\msvc2015_64\lib

2)vs2015加到PATH:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
另外,到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64下打开cmd执行vcvars64.bat,把64位编译器添加到系统(实际上我不知道这个操作有没有用);

3)opencv加到PATH:
<opencv安装路径>\build\x64\vc14\bin
<opencv安装路径>\build\x64\vc14\lib
比如我的路径是:C:\Users\anita\Downloads\opencv\build\x64\vc14\bin
注:路径只写 [ <opencv安装路径>\build ]会有找不到OpenCV的"CMake Error",要一直写到 lib这一层

4)matlab
在安装教程中有添加路径的教学,这里并没有要特别注意的路径

5)新建环境变量
新建一个环境变量,变量名QT_QPA_PLATFORM_PLUGIN_PATH,变量值是<Qt5安装路径>/plugins/platforms,比如我的变量值是C:\Qt\Qt5.12.9\5.12.9\msvc2015_64\plugins\platforms

3. build安装panoramix

在cmd中用cmake -G可以查看支持的生成器,我的计算机显示:

C:\Users\anita>cmake -G
CMake Error: No generator specified for -G
Generators
Visual Studio 16 2019 = Generates Visual Studio 2019 project files.
Use -A option to specify architecture.
Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
Optional [arch] can be “Win64” or “ARM”.
* Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be “Win64” or “ARM”.

Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be “Win64” or “ARM”.
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be “Win64” or “ARM”.
Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
Optional [arch] can be “Win64” or “IA64”.
Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files.
Optional [arch] can be “Win64” or “IA64”.
Borland Makefiles = Generates Borland makefiles.
NMake Makefiles = Generates NMake makefiles.
NMake Makefiles JOM = Generates JOM makefiles.
MSYS Makefiles = Generates MSYS makefiles.
MinGW Makefiles = Generates a make file for use with
mingw32-make.
Unix Makefiles = Generates standard UNIX makefiles.
Green Hills MULTI = Generates Green Hills MULTI files
(experimental, work-in-progress).
Ninja = Generates build.ninja files.
Ninja Multi-Config = Generates build-<Config>.ninja files.
Watcom WMake = Generates Watcom WMake makefiles.
CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles JOM
= Generates CodeBlocks project files.
CodeBlocks - Ninja = Generates CodeBlocks project files.
CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
CodeLite - MinGW Makefiles = Generates CodeLite project files.
CodeLite - NMake Makefiles = Generates CodeLite project files.
CodeLite - Ninja = Generates CodeLite project files.
CodeLite - Unix Makefiles = Generates CodeLite project files.
Sublime Text 2 - MinGW Makefiles
= Generates Sublime Text 2 project files.
Sublime Text 2 - NMake Makefiles
= Generates Sublime Text 2 project files.
Sublime Text 2 - Ninja = Generates Sublime Text 2 project files.
Sublime Text 2 - Unix Makefiles
= Generates Sublime Text 2 project files.
Kate - MinGW Makefiles = Generates Kate project files.
Kate - NMake Makefiles = Generates Kate project files.
Kate - Ninja = Generates Kate project files.
Kate - Unix Makefiles = Generates Kate project files.
Eclipse CDT4 - NMake Makefiles
= Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - MinGW Makefiles
= Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - Ninja = Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

高亮部分可以看到支持 Visual Studio 14 2015;后面有个可选参数,如果不加参数,默认在vs的32位平台上编译,所以要加上参数Win64

#在cmd中cd到Panoramix文件夹下
cd Panoramix
#新建build文件夹
mkdir build
#进入build
cd build
#用cmake生成要编译的文件
cmake .. -G "Visual Studio 14 2015 Win64"

之后build文件夹下生成了这些文件和文件夹:

$(Configuration)
ALL_BUILD.vcxproj
ALL_BUILD.vcxproj.filters
CMakeCache.txt
CMakeFiles
cmake_install.cmake
executable
panoramix
Panoramix.sln
thirdparty
ZERO_CHECK.vcxproj
ZERO_CHECK.vcxproj.filters

注:我第一次在windows上执行cmake,以为会生成一个makefile文件,但是,在linux上才生成makefile,vs不会生成makefile的,所以要用msbuild或者vcbuild进行编译,我用msbuild:

#还是在build文件夹下
msbuild Panoramix.sln

到此编译完成;
生成的可执行文件是Panoramix\build\executable\panorama\Debug下的Panorama.exe

注:上述有些操作有人说在powershell中不行,只能在cmd执行,但是我在powershell中没出问题;

三、测试数据

测试数据是 Panoramix\testdata\下的全景图,可将自己的测试数据放在该文件夹下;

四、测试过程

双击运行Panorama.exe,弹出选择框,选择indoor_pano1.jpg,稍等一下会有一块一块的线段图显示出来,点击x不断弹出下一张,最后出现一张完整的用彩色线段表示三维轴的全景图;然后显示红绿蓝三色的三维图;最后呈现恢复的三维场景;
选择的图片:
testdata/indoor_pano1.jpg
中间图片:
彩色线段表示三维轴
中间数据(按住右键可旋转):
在这里插入图片描述

五、测试结果

在测试图片同一文件夹下可以看到生成了同名的.mat和.obj文件;
最后生成的效果截图(按住右键旋转,滚动缩放):
3D重建图

六、总结

重建效果比较好,但是全景图的墙面有影响立体效果的贴纸、或者地面反光有倒映的情况测试结果会不理想。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值