环境:win7 X64 +Cmake3.11.4+vs2015+opencv3.4.1
- Cmake
1.1下载Cmake:下载地址里面选择想要的版本进行下载,然而我果然不懂啥是啥,老实的下了.zip文件,并且选择了3.11.4.没有任何原因,只是觉得最新版本有了问题我也不会解决,选上个版本的百度能找到解决方案。
1.2解压zip文件。在解压后的文件中找到bin->cmake.exe,它的路径为:“D:\cmake-3.9.0-win64-x64\bin”。
1.3给cmake.exe添加环境变量。右键“我的电脑”,选择“属性”,进入高级系统设置。点击“环境变量”。找到path双击,在最末尾加个英文的分号“;”然后把1.2的路径添加上去。
- OpenCV
引用别人的偷个懒。
这个OpenCV的lib文件是最让我头疼的。
其中添加opencv_world340d.lib文件时要根据自己的OpenCV版本来看。对于不同版本的opencv,该文件名的数字编号就不同。我的版本是opencv3.4.1,那我的lib名就是opencv_world341d.lib。后面跟的d是debug版本的意思,没有d的时候就是release版本。 - openMVG
3.1
部分参考openMVG 编译安装指南
3.2
从GitHub上下载源码.zip:
openMVG的源码下载地址
glfw
osi_clp
cereal
将glfw、osi_clp、cereal解压后放入openMVG源码的openMVG-master\src\dependencies文件夹下,虽然文件目录下已有这三个文件夹,但里面没有文件,需要我们补上。
3.3
首先在D:\openMVG目录下新建文件夹命名为build,这个是将来存放输出的。
在cmake中导入源码地址,设置编译的Build文件地址,在D:\cmake-3.11.4-win64-x64\bin中打开cmake-gui.exe
点configure,选择编译环境VS2015 x64(看个人情况)然后确认。再configure一下,等出现了Configuring done接着generate,出现Generating done。
***(和opencv一起编译)接着上一步的generate完成后,在CMakeLists.txt(D:\openMVG\src)文件中修改相应选项为 ON,然后在cmake的GUI找到OpenCV_DIR,值就是你的opencv的路径(D:\360安全浏览器下载\opencv)。
然后再configure一下,接着generate,就可以点旁边的Open Project,就自动打开openMVG.sln项目了。
4. 运行样例
4.1
打开了这么一个家伙
//运行ALL_BUILD,关闭VS并以管理员身份重启VS,编译INSTALL子项目,则可在CMAKE_INSTALL_PREFIX路径中得到最终结果.(我也不确定需不需要这样做,写这篇的时候我是先运行了这两个以后,再打开Sample的文件运行的,严重怀疑直接生成样例也没毛病)
4.2
运行features_siftPutativeMatches(SIFT算法)
这个样例做了这么几件事(直接翻译官方):
分别提取两张图像的SIFT特征(使用非免费的vlsift)并形成特征描述;
根据特征描述子匹配两张图像上的特征点(BRUTE_FORCE_L2方法);
展示匹配结果;
运行成功项目目录(D:\openMVG\build\openMVG_Samples\features_siftPutativeMatches)下会生成三个文件:00_images.jpg,01_features.svg,02_siftMatches.svg。