From e758eeffb956f8bb73e338345c2d49ca355ebd62 Mon Sep 17 00:00:00 2001 From: weixin_46229132 Date: Tue, 8 Apr 2025 14:24:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=BF=AB=E6=8B=BC=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- run.py | 12 ++++++------ utils/docker_runner.py | 8 +++++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index 5ba6dad..257d0e8 100644 --- a/main.py +++ b/main.py @@ -112,7 +112,7 @@ class ODM_Plugin: """"运行OMD docker容器""" self.logger.info("开始运行Docker容器") # TODO:加一些容错处理 - docker_runner = DockerRunner(self.project_path) + docker_runner = DockerRunner(self.project_path, self.config) docker_runner.run_odm_container() def convert_obj(self): diff --git a/run.py b/run.py index ec1c4cf..7b8043c 100644 --- a/run.py +++ b/run.py @@ -7,12 +7,12 @@ def parse_args(): parser = argparse.ArgumentParser(description='ODM预处理工具') # 必需参数 - # parser.add_argument('--image_dir', required=True, help='输入图片目录路径') - # parser.add_argument('--output_dir', required=True, help='输出目录路径') - parser.add_argument( - '--image_dir', default=r'E:\datasets\UAV\134\project\images', help='输入图片目录路径') - parser.add_argument( - '--output_dir', default=r'G:\ODM_output\134', help='输出目录路径') + parser.add_argument('--image_dir', required=True, help='输入图片目录路径') + parser.add_argument('--output_dir', required=True, help='输出目录路径') + # parser.add_argument( + # '--image_dir', default=r'E:\datasets\UAV\134\project\images', help='输入图片目录路径') + # parser.add_argument( + # '--output_dir', default=r'G:\ODM_output\134', help='输出目录路径') # 可选参数 parser.add_argument('--mode', default='快拼模式', choices=['快拼模式', '三维模式'], help='处理模式') diff --git a/utils/docker_runner.py b/utils/docker_runner.py index d510410..a4480a3 100644 --- a/utils/docker_runner.py +++ b/utils/docker_runner.py @@ -5,7 +5,7 @@ from collections import deque class DockerRunner: - def __init__(self, project_path: str): + def __init__(self, project_path: str, config: dict): """ 初始化 DockerRunner @@ -13,6 +13,7 @@ class DockerRunner: project_path (str): 项目路径,将挂载到 Docker 容器中 """ self.project_path = project_path + self.config = config self.logger = logging.getLogger("UAV_Preprocess.DockerRunner") self.docker_client = docker.from_env() @@ -40,6 +41,11 @@ class DockerRunner: "--rerun-all" ] + if self.config.mode == "快拼模式": + command += ["--fast-orthophoto", "--skip-3dmodel"] + else: + command += ["--dsm", "--dtm"] + # 运行容器 container = self.docker_client.containers.run( image="opendronemap/odm:gpu",