编译运行windows+OpenMVG+OpenMVS+vs2017

2023-10-27 21:52

本文主要是介绍编译运行windows+OpenMVG+OpenMVS+vs2017,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装vcpkg过程需要翻墙!!!

github下载代码

git clone https://github.com/microsoft/vcpkg
git clone https://github.com/cdcseacave/VCG.git
git clone https://github.com/cdcseacave/openMVS.git src

安装vcpkg包

cd .\vcpkg
.\bootstrap-vcpkg.bat
vcpkg integrate install
vcpkg install zlib:x64-windows boost:x64-windows eigen3:x64-windows ceres:x64-windows opencv:x64-windows cgal:x64-windows glew:x64-windows glfw3:x64-windows

编译OpenMVS

mkdir .\build-mvs
cd .\build-mvs
cmake . ..\openMVS -G "Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=..\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DVCG_ROOT="..\VCG" -DCMAKE_CUDA_ARCHITECTURES=75 -DCMAKE_CUDA_STANDARD=14

用cmake-gui编译OpenMVG

打开vs编译release版本

下载图片数据到文件夹images

防止CPU跑满系统崩溃,以下命令行增加了

start /WAIT /affinity 0x7f

运行OpenMVG

mkdir .\mvgstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_SfMInit_ImageListing.exe -i .\images\ -d D:\OpenMVS\openMVG\src\openMVG\exif\sensor_width_database\sensor_width_camera_database.txt -o .\mvg\matches -f 10160start /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_ComputeFeatures.exe -i .\mvg\matches\sfm_data.json -o .\mvg\matchesstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_PairGenerator.exe -i .\mvg\matches\sfm_data.json -o .\mvg\matches\pairs.binstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_ComputeMatches.exe -i .\mvg\matches\sfm_data.json -p .\mvg\matches\pairs.bin -o .\mvg\matches\matches.putative.binstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_GeometricFilter.exe -i .\mvg\matches\sfm_data.json -m .\mvg\matches\matches.putative.bin -g f -o .\mvg\matches\matches.f.binstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_SfM.exe -s INCREMENTAL -i .\mvg\matches\sfm_data.json -M .\mvg\matches\matches.f.bin -o .\mvg\outputstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_ComputeSfM_DataColor.exe -i .\mvg\output\sfm_data.bin -o .\mvg\output\sfm_data_colorized.plymkdir .\mvs
start /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_openMVG2openMVS.exe -i .\mvg\output\sfm_data.bin -d .\mvs\undistortedImages -o .\mvs\scene.mvs

如果运行自己图片,第一行添加 -f 10000,计算方式见下面公式

start /WAIT /affinity 0x7f D:\OpenMVS\build-mvg\Windows-AMD64-Release\Release\openMVG_main_SfMInit_ImageListing.exe -i .\images\ -d D:\OpenMVS\openMVG\src\openMVG\exif\sensor_width_database\sensor_width_camera_database.txt -o .\mvg\matches -f 10160

openMVG documentation! — openMVG library

运行OpenMVS


start /WAIT /affinity 0x7f D:\OpenMVS\build-mvs\bin\vc15\x64\Release\DensifyPointCloud.exe -i ..\mvs\scene.mvs -w .\mvsstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvs\bin\vc15\x64\Release\ReconstructMesh.exe -i ..\mvs\scene_dense.mvs -w .\mvsstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvs\bin\vc15\x64\Release\RefineMesh.exe -i ..\mvs\scene_dense_mesh.mvs -w .\mvsstart /WAIT /affinity 0x7f D:\OpenMVS\build-mvs\bin\vc15\x64\Release\TextureMesh.exe -i ..\mvs\scene_dense_mesh.mvs -w .\mvs

查看结果,也可以用cloudcompare

D:\OpenMVS\build-mvs\bin\vc15\x64\Release\Viewer.exe -i .\mvs\scene_dense_mesh_texture.mvs

这篇关于编译运行windows+OpenMVG+OpenMVS+vs2017的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/288663

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议