OpenMVS学习笔记(一):WSL编译安装测试

2024-05-10 04:36

本文主要是介绍OpenMVS学习笔记(一):WSL编译安装测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.CUDA和CUDNN安装

  • [1] WSL版本cuda安装:
>> wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
>> sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
>> wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
>> sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
>> sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
>> sudo apt-get update
>> sudo apt-get -y install cuda
  • [2] cudnn安装:
# 1.下载cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz文件
# 2.解压cudnn压缩包
>> tar -xf cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz
# 3.将include和lib文件夹下文件拷贝到cuda安装目录下
>> sudo cp cudnn-linux-x86_64-8.9.2.26_cuda11-archive/include/*cudnn.h /usr/local/cuda/include/
>> sudo cp  cudnn-linux-x86_64-8.9.2.26_cuda11-archive/lib/libcudnn* /usr/local/cuda/lib64
# 4.修改库的权限
>> sudo chmod a+r /usr/local/lib64/libcudnn*
  • [3] 添加系统环境变量(.zshrc或.bashrc)
export CUDA_PATH=/usr/local/cuda
export CUDA_BIN=/usr/local/cuda/bin
export PATH=$PATH::$CUDA_PATH:$CUDA_BIN
  • [4] 刷新一下系统环境变量
# 1.zsh
>> source ~/.zshrc
# 2.bash
>> source ~/.bashrc
  • [5] 查询cuda版本
>> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

2.安装依赖库

2.1 apt安装依赖库

sudo apt-get -y install git cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev
sudo apt-get -y install libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-serialization-dev
sudo apt-get -y install libcgal-dev libcgal-qt5-dev
sudo apt-get install libglfw3-dev

2.2 OpenCV安装

  • 网上一大堆,懒得写了

3.OpenMVS编译

# 1.下载VCG源码
>> git clone https://github.com/cdcseacave/VCG.git vcglib
# 2.下载OpenMVS源码
>> cmake .. -DVCG_ROOT=[VCG源码路径]/vcglib -DCMAKE_BUILD_TYPE=Release
  • 生成目录层级:
.
├── CMakeCache.txt
├── CMakeFiles
│   ├── 3.16.3
│   ├── 3.27.0-rc3
│   ├── CMakeConfigureLog.yaml
│   ├── CMakeDirectoryInformation.cmake
│   ├── CMakeOutput.log
│   ├── CMakeRuleHashes.txt
│   ├── CMakeScratch
│   ├── CMakeTmp
│   ├── Export
│   ├── FindOpenMP
│   ├── Makefile.cmake
│   ├── Makefile2
│   ├── TargetDirectories.txt
│   ├── cmake.check_cache
│   ├── pkgRedirects
│   ├── progress.marks
│   └── uninstall.dir
├── CTestTestfile.cmake
├── ConfigLocal.h
├── Makefile
├── Modules
│   ├── FindBREAKPAD.cmake
│   ├── FindEigen3.cmake
│   └── FindVCG.cmake
├── OpenMVSConfig.cmake
├── OpenMVSConfigVersion.cmake
├── Templates
│   ├── ConfigLocal.h.in
│   ├── OpenMVSConfig.cmake.in
│   └── cmake_uninstall.cmake.in
├── Utils.cmake
├── apps
│   ├── CMakeFiles
│   ├── DensifyPointCloud
│   ├── InterfaceCOLMAP
│   ├── InterfaceMVSNet
│   ├── InterfaceMetashape
│   ├── InterfacePolycam
│   ├── Makefile
│   ├── ReconstructMesh
│   ├── RefineMesh
│   ├── Tests
│   ├── TextureMesh
│   ├── TransformScene
│   ├── Viewer
│   └── cmake_install.cmake
├── bin
│   ├── DensifyPointCloud
│   ├── InterfaceCOLMAP
│   ├── InterfaceMVSNet
│   ├── InterfaceMetashape
│   ├── InterfacePolycam
│   ├── ReconstructMesh
│   ├── RefineMesh
│   ├── Tests
│   ├── TextureMesh
│   ├── TransformScene
│   └── Viewer
├── cmake_install.cmake
├── cmake_uninstall.cmake
├── docs
│   ├── CMakeFiles
│   ├── Makefile
│   └── cmake_install.cmake
├── lib
│   ├── libCommon.a
│   ├── libIO.a
│   ├── libMVS.a
│   ├── libMath.a
│   └── pyOpenMVS.so
└── libs├── CMakeFiles├── Common├── IO├── MVS├── Makefile├── Math└── cmake_install.cmake

4.效果测试

4.0 测试数据

  • openMVS_sample

4.1 稠密点云重建(可选项)

  • 当场景部分缺失时,稠密点云重建模块可以估算一个稠密点云来恢复它们,默认采用patch匹配方法:
>> ./bin/DensifyPointCloud -w [openMVS_sample路径]/mvs-data scene.mvs
  • 使用meshlab打开点云结果scene_dense.ply
    在这里插入图片描述

4.2 粗略网格重建

  • 先前获取得到的稀疏或稠密点云被用于网格重建模块:
>> ./bin/ReconstructMesh -w [openMVS_sample]/mvs-data scene_dense.mvs -p scene_dense.ply
  • 使用meshlab打开网格生成结果scene_dense_mesh.ply
    在这里插入图片描述

4.3 网格细化(可选项)

  • 从点云获取到的网格可以进一步细化,进而恢复所有好的细节,更有甚者,恢复更大缺失的部分:
  • (a) 细化由稀疏点云获取到的网格:
>> ./bin/RefineMesh -w [openMVS_sample]/mvs-data scene.mvs -m scene_dense_mesh.ply -o scene_sparse_mesh_refine.mvs
  • 看一下结果:
    在这里插入图片描述
  • (b) 细化由稠密点云获取到的网格:
>> ./bin/RefineMesh -w [openMVS_sample]/mvs-data scene_dense.mvs -m scene_dense_mesh.ply -o scene_dense_mesh_refine.mvs
  • 看一下效果:
    在这里插入图片描述

4.4 网格纹理化

  • 前面步骤获取到的网格被用于网格纹理化模块:
>> ./bin/TextureMesh -w [openMVS_sample]/mvs-data  scene_dense.mvs -m scene_dense_mesh_refine.ply -o scene_dense_mesh_refine_texture.mvs
  • 看一下结果:
    在这里插入图片描述

5.参考资料

  • [1] OpenMVS详细安装教程(ubuntu18.04)
  • [2] OpenMVS
  • [3] openMVS_sample

这篇关于OpenMVS学习笔记(一):WSL编译安装测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成