OpenDroneMap(简称ODM)是一个用来处于无人机航拍图像的开源命令行工具包,官方提供的教程大都是基于ubuntu或者是docker直接运行,对于想要调试修改代码提供了很大的难题。
这里根据windows提供的wsl实现了ODM的windows下配置,并且通过pycharm可以实现在windows下运行odm。
wsl是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
WSL安装与配置
主要参考:
# 打开powershell并输入启用wsl:
wsl --install
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
# 查看WSL版本
wsl -l -v
# 安装ubuntu-20.04(OpenDroneMap3.5版本官方指定版本),打开windows商店搜索ubuntu20.04安装即可
# 更改wsl2的安装位置
# 创建目标目录
mkdir D:\WSL\backup
# 确认路径权限,通过尝试在目标路径创建一个测试文件来确认权限
echo "test" > D:\WSL\backup\test.txt
# 导出当前的 WSL 发行版
wsl --export Ubuntu-20.04 D:\WSL\backup\Ubuntu.tar
# 注销当前的 WSL 发行版
wsl --unregister Ubuntu-20.04
# 导入 WSL 发行版到新的位置
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu D:\WSL\backup\Ubuntu.tar
# 验证安装
wsl -l -v
# 更改登录用户
vim /etc/wsl.conf
# 输入
[user]
default=user_name
# 去掉windows的环境变量
[interop]
appendWindowsPath = false
# 更改默认启动路径,终端设置里打开json,在ubuntu项中输入
"startingDirectory": "//wsl$/Ubuntu-20.04/home/sun"
# 注销重启wsl
wsl --shutdown
wsl
# wsl设置VPN代理及内存大小,在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,输入重启wsl
[wsl2]
memory=16GB
swap=16GB
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
CUDA安装
# 查看是否支持显卡
nvidia-smi
# 安装CUDA
wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run
sudo sh cuda_11.4.2_470.57.02_linux.run --override
# 添加环境变量
# 打开.bashrc文件
nano .bashrc
# 输入
#config cuda
export CUDA_HOME=/usr/local/cuda-11.4
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/extras/CUPTI/lib64
# 按ctrl+X退出,Y保存,enter确定
# 输入,使环境变量生效
source ~/.bashrc
# 验证是否安装
nvcc --version
OpenDroneMap安装
# 下载
git clone https://github.com/OpenDroneMap/ODM
# 安装
cd ODM
bash configure.sh install
# 运行
./run.sh 路径
pycharm远程连接(需专业版)
python运行中点击编辑,设置环境变量LD_LIBRARY_PATH:/home/xxx/ODM/SuperBuild/install/lib