openMVG 创建自己的pipeline进程
因为要加代码,搞版本管理怕自己改烂代码。结果手滑移错覆盖了文件ctrl+z改不回去了。
正好因为之前改过sample例子里引用的代码,经常输出一些线程里的东西。
索性重新配置了一遍
我自己的配置
vs2019 openMVG 码云上down最新的, opencv460.lib
配置坑
https://zhuanlan.zhihu.com/p/481518151
https://blog.youkuaiyun.com/weixin_50795467/article/details/130101861
【openmvg配置】 https://www.bilibili.com/video/BV1TY411K77C/?share_source=copy_web&vd_source=364c5f9161c174fd173447f302425ecf
记得重新生成
cmake-gui爆红不可怕 ,按照上面的方式,再点一次配置,红色就消失了。(前提是看下上文Eigen的处理方式)
以及刚打开项目后除了上面b站视频的ALL_build操作外(install有报错。) 记得把解决方案属性设置-启动项目设置为当前选定内容
我是从码云上git下来的 建立了build 删除了之前的git github文件夹 然后搞了自己的。
新建项目坑
因为我基本上是生啃c++,项目相关啥的也不会。故留个过程
我在vs创建项目后 …openMVG\src\openMVG\sfm\pipelines 设为的项目路径
先对项目进行配置
主要的就是 输出目录 附加包含目录 链接器输出目录,设置好(照抄其他pipeline项目,我是抄的openmvg_main_sfm_location)



同样照抄。
跑起来,发现各种错误,而且越改越多。大部分是引用相关的错误 可以放弃了,再见,没意思



实际上使用cmake 就能自己创建自己的项目在openMVG下。上面自己建的项目跟build可以清空了
以下以一个我自己的pipeline进行操作说明(我是基于sfm_location部分进行生成的)(也可以基于其他的)
1 E:\xx\openmvgbasic\openMVG\src\software 找到Location复制粘贴成为另一个文件夹

这个watermapping 就是一个例子,你也需要改一下自己的文件夹名称。
2 把cpp.的代码改一下 ,基本上留下引用(#include 那些),也可以不改(那你搞自己的pipeLIne的意义在哪里?)

对cmakeLIsts.txt进行以下修改
改cmakelist.txt文件
A
add_executable(openMVG_main_SfM_WaterMapping main_SfM_WaterMapping.cpp)
B
target_link_libraries(openMVG_main_SfM_WaterMapping
C
set_property(TARGET openMVG_main_SfM_WaterMapping PROPERTY FOLDER OpenMVG/software)
D
install(TARGETS openMVG_main_SfM_WaterMapping DESTINATION bin/)
之前的location项目是这么写的 只要把下图的部分面四个换成自己的就行(注意是WaterMapping(或者你自己的项目)文件夹下的进行修改)

这个文件夹外面的 cmakelist 可以加add_subdirectory(WaterMapping) 也可以不加。
3然后在这新建build

打开后 build,上面输入cmd

敲入命令行
cmake -G “Visual Studio 16 2019” E:\fengmen\opmvgdate\openmvgbasic\openMVG\src
这一行怎么写,去搜下就行 ,主要是 “Visual Studio 16 2019” 因为vs不一样可能会不一样。
然后等build成功,打开文件夹就能看到继承依赖完美的watermapping了。

而且是!能跑的!
配置opencv坑
在openMVG配置这东西,参考这篇
https://zhuanlan.zhihu.com/p/544467828
但是 记住,如果引用opencv的代码在openMVG项目中,报解析不到字符时。
链接器工具错误 LNK2019 以及
Visual Studio使用OpenCV显示错误error LNK2001 类似的错误时
右击项目属性


向上图一样手动加上 opencv的库,我虽然按照知乎上的说明配置了(作者有提到一个坑是带406d,debug模式,别把不带d的release也加进去), 但最后对我建立的pipeline, 只有在继承的值上有opencv_world460d.lib ,需要自己在上面的白框添加一下。
以上,希望能帮到你,从我踩的坑路过,踩到其他坑(

茉门! feng门!
转载请标明个出处,文章虽然不太行。
本文讲述了作者在配置openMVG自定义pipeline过程中遇到的问题,包括版本管理失误、cmake配置、opencv库链接和错误解决,以及创建新项目的步骤和注意事项。
9万+

被折叠的 条评论
为什么被折叠?



