openMVG+openCV(手动)配置,构建自己的pipeline,创建自己的项目。

openMVG 创建自己的pipeline进程

因为要加代码,搞版本管理怕自己改烂代码。结果手滑移错覆盖了文件ctrl+z改不回去了。

正好因为之前改过sample例子里引用的代码,经常输出一些线程里的东西。

索性重新配置了一遍

我自己的配置

vs2019 openMVG 码云上down最新的, opencv460.lib

配置坑

https://zhuanlan.zhihu.com/p/481518151
https://blog.csdn.net/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门!

转载请标明个出处,文章虽然不太行。

  • 43
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值