修改默认参数,针对三维模式

This commit is contained in:
weixin_46229132 2025-02-18 11:16:46 +08:00
parent 105d113e4b
commit f6d5e6cd0e
3 changed files with 18 additions and 11 deletions

27
main.py
View File

@ -2,25 +2,29 @@ import argparse
from datetime import timedelta from datetime import timedelta
from odm_preprocess import PreprocessConfig, ImagePreprocessor from odm_preprocess import PreprocessConfig, ImagePreprocessor
def parse_args(): def parse_args():
parser = argparse.ArgumentParser(description='ODM预处理工具') parser = argparse.ArgumentParser(description='ODM预处理工具')
# 必需参数 # 必需参数
parser.add_argument('--image_dir', required=True, help='输入图片目录路径') parser.add_argument('--image_dir', required=True, help='输入图片目录路径')
parser.add_argument('--output_dir', required=True, help='输出目录路径') parser.add_argument('--output_dir', required=True, help='输出目录路径')
# 可选参数 # 可选参数
parser.add_argument('--mode', default='重建模式', choices=['快拼模式', '三维模式', '重建模式'], help='处理模式') parser.add_argument('--mode', default='三维模式',
choices=['快拼模式', '三维模式', '重建模式'], help='处理模式')
parser.add_argument('--grid_size', type=float, default=800, help='网格大小(米)') parser.add_argument('--grid_size', type=float, default=800, help='网格大小(米)')
parser.add_argument('--grid_overlap', type=float, default=0.05, help='网格重叠率') parser.add_argument('--grid_overlap', type=float,
parser.add_argument('--produce_dem', action='store_true', help='是否生成DEM') default=0.05, help='网格重叠率')
# parser.add_argument('--produce_dem', action='store_true', help='是否生成DEM')
args = parser.parse_args() args = parser.parse_args()
return args return args
def main(): def main():
args = parse_args() args = parse_args()
# 创建配置 # 创建配置
config = PreprocessConfig( config = PreprocessConfig(
image_dir=args.image_dir, image_dir=args.image_dir,
@ -28,8 +32,8 @@ def main():
mode=args.mode, mode=args.mode,
grid_size=args.grid_size, grid_size=args.grid_size,
grid_overlap=args.grid_overlap, grid_overlap=args.grid_overlap,
produce_dem=args.produce_dem, produce_dem=True,
# 其他参数使用默认值 # 其他参数使用默认值
cluster_eps=0.01, cluster_eps=0.01,
cluster_min_samples=5, cluster_min_samples=5,
@ -41,10 +45,11 @@ def main():
filter_dense_distance_threshold=10, filter_dense_distance_threshold=10,
filter_time_threshold=timedelta(minutes=5), filter_time_threshold=timedelta(minutes=5),
) )
# 创建处理器并执行 # 创建处理器并执行
processor = ImagePreprocessor(config) processor = ImagePreprocessor(config)
processor.process() processor.process()
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View File

@ -282,6 +282,7 @@ class ImagePreprocessor:
if self.config.mode == "快拼模式": if self.config.mode == "快拼模式":
self.merge_tif(successful_grid_points, self.config.produce_dem) self.merge_tif(successful_grid_points, self.config.produce_dem)
elif self.config.mode == "三维模式": elif self.config.mode == "三维模式":
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) # self.merge_obj(successful_grid_points, translations)
self.convert_obj(successful_grid_points) self.convert_obj(successful_grid_points)

View File

@ -282,6 +282,7 @@ class ImagePreprocessor:
if self.config.mode == "快拼模式": if self.config.mode == "快拼模式":
self.merge_tif(successful_grid_points, self.config.produce_dem) self.merge_tif(successful_grid_points, self.config.produce_dem)
elif self.config.mode == "三维模式": elif self.config.mode == "三维模式":
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) # self.merge_obj(successful_grid_points, translations)
self.convert_obj(successful_grid_points) self.convert_obj(successful_grid_points)