可视化修改

This commit is contained in:
龙澳 2024-12-21 12:36:14 +08:00
parent bb2567aa86
commit 37ce5c746f
3 changed files with 13 additions and 9 deletions

View File

@ -47,7 +47,7 @@ class ImagePreprocessor:
self.config = config self.config = config
self.logger = setup_logger(config.output_dir) self.logger = setup_logger(config.output_dir)
self.gps_points = [] self.gps_points = []
self.command_runner = CommandRunner(config.output_dir) self.command_runner = CommandRunner(config.output_dir, mode=config.mode)
def extract_gps(self) -> pd.DataFrame: def extract_gps(self) -> pd.DataFrame:
"""提取GPS数据""" """提取GPS数据"""
@ -177,6 +177,7 @@ class ImagePreprocessor:
filtered_points_df["lon"], filtered_points_df["lon"],
filtered_points_df["lat"], filtered_points_df["lat"],
color="red", color="red",
marker="x",
label="Filtered Points", label="Filtered Points",
alpha=0.6, alpha=0.6,
) )
@ -206,7 +207,6 @@ class ImagePreprocessor:
self.command_runner.run_grid_commands( self.command_runner.run_grid_commands(
grid_points, grid_points,
self.config.enable_grid_division, self.config.enable_grid_division,
self.mode
) )
# TODO 拼图 # TODO 拼图
except Exception as e: except Exception as e:
@ -217,8 +217,8 @@ class ImagePreprocessor:
if __name__ == "__main__": if __name__ == "__main__":
# 创建配置 # 创建配置
config = PreprocessConfig( config = PreprocessConfig(
image_dir=r"E:\datasets\UAV\1815\images", image_dir=r"E:\datasets\UAV\283\project\images",
output_dir=r"test", output_dir=r"E:\studio2\ODM_pro\test",
cluster_eps=0.01, cluster_eps=0.01,
cluster_min_samples=5, cluster_min_samples=5,
@ -230,13 +230,15 @@ if __name__ == "__main__":
filter_dense_distance_threshold=10, filter_dense_distance_threshold=10,
filter_time_threshold=timedelta(minutes=5), filter_time_threshold=timedelta(minutes=5),
grid_overlap=0.05, grid_overlap=0.03,
grid_size=500, grid_size=500,
enable_filter=True, enable_filter=True,
enable_grid_division=True, enable_grid_division=True,
enable_visualization=True, enable_visualization=True,
enable_copy_images=True, enable_copy_images=True,
mode="快拼模式",
) )
# 创建处理器并执行 # 创建处理器并执行

View File

@ -10,7 +10,7 @@ from preprocess.odm_monitor import ODMProcessMonitor
class CommandRunner: class CommandRunner:
"""执行网格处理命令的类""" """执行网格处理命令的类"""
def __init__(self, output_dir: str, max_retries: int = 3): def __init__(self, output_dir: str, max_retries: int = 3, mode: str = "快拼模式"):
""" """
初始化命令执行器 初始化命令执行器
i i
@ -21,7 +21,8 @@ i
self.output_dir = output_dir self.output_dir = output_dir
self.max_retries = max_retries self.max_retries = max_retries
self.logger = logging.getLogger('UAV_Preprocess.CommandRunner') self.logger = logging.getLogger('UAV_Preprocess.CommandRunner')
self.monitor = ODMProcessMonitor(max_retries=max_retries) self.monitor = ODMProcessMonitor(max_retries=max_retries, mode=mode)
self.mode = mode
def _run_command(self, grid_idx: int): def _run_command(self, grid_idx: int):
""" """

View File

@ -8,17 +8,19 @@ from typing import Optional, Tuple
class ODMProcessMonitor: class ODMProcessMonitor:
"""ODM进程监控器""" """ODM进程监控器"""
def __init__(self, max_retries: int = 3, check_interval: int = 300): def __init__(self, max_retries: int = 3, check_interval: int = 300, mode: str = "快拼模式"):
""" """
初始化监控器 初始化监控器
Args: Args:
max_retries: 最大重试次数 max_retries: 最大重试次数
check_interval: 检查间隔 check_interval: 检查间隔
mode: 模式
""" """
self.max_retries = max_retries self.max_retries = max_retries
self.check_interval = check_interval self.check_interval = check_interval
self.logger = logging.getLogger('UAV_Preprocess.ODMMonitor') self.logger = logging.getLogger('UAV_Preprocess.ODMMonitor')
self.mode = mode
def _is_process_running(self, pid: int) -> bool: def _is_process_running(self, pid: int) -> bool:
"""检查进程是否在运行""" """检查进程是否在运行"""
@ -45,7 +47,6 @@ class ODMProcessMonitor:
command: ODM命令 command: ODM命令
grid_dir: 网格目录 grid_dir: 网格目录
grid_idx: 网格索引 grid_idx: 网格索引
Returns: Returns:
Tuple[bool, str]: (是否成功, 错误信息) Tuple[bool, str]: (是否成功, 错误信息)
""" """