修改三维模式参数
This commit is contained in:
parent
954e87121f
commit
34f19c430b
2
main.py
2
main.py
@ -1,6 +1,6 @@
|
||||
import argparse
|
||||
from datetime import timedelta
|
||||
from odm_preprocess_fast import PreprocessConfig, ImagePreprocessor
|
||||
from odm_preprocess import PreprocessConfig, ImagePreprocessor
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description='ODM预处理工具')
|
||||
|
@ -278,11 +278,11 @@ class ImagePreprocessor:
|
||||
if self.config.mode == "快拼模式":
|
||||
self.merge_tif(successful_grid_points, self.config.produce_dem)
|
||||
elif self.config.mode == "三维模式":
|
||||
self.merge_ply(successful_grid_points)
|
||||
# self.merge_ply(successful_grid_points)
|
||||
self.merge_obj(successful_grid_points, translations)
|
||||
else:
|
||||
self.merge_tif(successful_grid_points, self.config.produce_dem)
|
||||
self.merge_ply(successful_grid_points)
|
||||
# self.merge_ply(successful_grid_points)
|
||||
self.merge_obj(successful_grid_points, translations)
|
||||
|
||||
def process(self):
|
||||
|
@ -125,16 +125,14 @@ class ODMProcessMonitor:
|
||||
|
||||
def run_odm_with_monitor(self, grid_dir: str, grid_id: tuple, produce_dem: bool = False) -> Tuple[bool, str]:
|
||||
"""运行ODM命令"""
|
||||
# if produce_dem and self.mode == "快拼模式":
|
||||
# self.logger.error("快拼模式下无法生成DEM,请调整生产参数")
|
||||
# return False, "快拼模式下无法生成DEM,请调整生产参数"
|
||||
|
||||
self.logger.info(f"开始处理网格 ({grid_id[0]},{grid_id[1]})")
|
||||
success = False
|
||||
error_msg = ""
|
||||
max_retries = 3
|
||||
current_try = 0
|
||||
use_lowest_quality = True # 初始使用lowest quality
|
||||
|
||||
# 根据模式设置是否使用lowest quality
|
||||
use_lowest_quality = self.mode == "快拼模式"
|
||||
|
||||
while current_try < max_retries:
|
||||
current_try += 1
|
||||
@ -151,6 +149,7 @@ class ODMProcessMonitor:
|
||||
f"--project-path /datasets project "
|
||||
f"--max-concurrency 15 "
|
||||
f"--force-gps "
|
||||
f"--use-hybrid-bundle-adjustment "
|
||||
)
|
||||
|
||||
# 根据是否使用lowest quality添加参数
|
||||
@ -223,7 +222,7 @@ class ODMProcessMonitor:
|
||||
raise NotOverlapError
|
||||
|
||||
except NotOverlapError:
|
||||
if use_lowest_quality:
|
||||
if use_lowest_quality and self.mode == "快拼模式":
|
||||
self.logger.warning(
|
||||
"检测到not overlap错误,移除lowest quality参数后重试")
|
||||
use_lowest_quality = False
|
||||
@ -231,7 +230,7 @@ class ODMProcessMonitor:
|
||||
continue
|
||||
else:
|
||||
self.logger.error(
|
||||
"即使移除lowest quality参数后仍然出现错误")
|
||||
"出现错误,需要人工检查数据集")
|
||||
error_msg = "图像重叠度不足,需要人工检查数据集的采样间隔情况"
|
||||
break
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user