# MapGreator **Repository Path**: Tigerworm/map-greator ## Basic Information - **Project Name**: MapGreator - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于图像识别的寻路系统 一个结合图像识别和碰撞检测的地图探索系统,支持实时地图建模和A*寻路算法数据导出。 ## 功能特性 - **实时地图探索**:基于视觉识别的地图建模 - **智能碰撞检测**:三帧对比法检测障碍物和碰撞响应 - **广度优先探索**:自动构建完整地图网格 - **交互式控制**:鼠标控制圆球移动和方向 - **数据导出**:支持CSV格式导出,供A*算法使用 ## 系统架构 ``` PathFinder/ ├── core/ # 核心模块 │ ├── map_manager.py # 地图管理 (图像处理、坐标系统) │ ├── collision_detector.py # 碰撞检测 (三帧对比算法) │ └── path_finder.py # 寻路算法 (BFS) ├── gui/ # GUI界面模块 │ ├── main_window.py # 主窗口 │ └── canvas_view.py # 画布视图 ├── data/ # 数据处理 │ └── data_manager.py # 数据持久化 (CSV导出) ├── utils/ # 工具函数 │ └── geometry.py # 几何计算工具 ├── main.py # 主入口 └── requirements.txt # 依赖包 ``` ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 运行程序 ```bash python main.py ``` ### 控制说明 - **鼠标操作**: - 在探索区域按住鼠标左键开始移动 - 鼠标指向决定移动方向 - 松开鼠标停止移动 - **键盘快捷键**: - `F4`:开始自动地图探索 - `F5`:保存探索数据 - `ESC`:退出程序 ### 界面说明 - **左侧**:实时探索视角 (600×800) - **右侧上方**:网格状态显示 (500×500) - **右侧下方**:原始地图缩放显示 (500×500) ## 技术规格 - **地图尺寸**:8000×8000像素 - **可视区域**:600×800像素 - **移动速度**:每秒100像素 (10帧×10像素/帧) - **网格尺寸**:10×10像素 - **圆球尺寸**:5像素直径 ## 碰撞检测算法 采用创新的三帧对比法: 1. 记录过去帧、预期帧、实际帧 2. 比较预期位置与实际位置的差异 3. 根据差异判断碰撞类型和响应方向 4. 支持沿障碍物切线滑动 ## 数据格式 ### 探索数据 (CSV) ```csv grid_x,grid_y,world_x,world_y,reachable,explored 0,0,0.0,0.0,1,1 0,1,0.0,10.0,0,1 ``` ### A*算法数据 (CSV) ```csv x,y,cost,reachable 0,0,1,true 0,1,inf,false ``` ## 开发计划 - [x] 基础地图管理 - [x] 碰撞检测系统 - [x] BFS探索算法 - [x] GUI界面 - [x] 数据导出 - [ ] A*寻路算法集成 - [ ] 性能优化 - [ ] 路径可视化 ## 依赖包 - PyQt6: GUI框架 - OpenCV: 图像处理 - NumPy: 数值计算 - Pandas: 数据处理 ## 作者 PathFinder Team ## 许可证 MIT License