# Remote_Sensing_Annotation **Repository Path**: dragonx0517/remote_sensing_annotation ## Basic Information - **Project Name**: Remote_Sensing_Annotation - **Description**: 遥感信息标注工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: trunk - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: 标注 ## README # Remote Sensing Annotator (V0.7.4) 遥感影像半自动化标注桌面工具(Windows x64 / Qt6 / CMake / 可选 GDAL)。 ## 当前状态 - 当前代码基线:`v0.7.4`。 - `v0.7.4` 在 `v0.7.0` 的大图链路基础上,重点补了工作台 UI 重构与点引导链路修正。 ## V0.7 关键更新 - GDAL 大图读取通道: - 新增 `src/io/GdalRasterReader`,为 `tif/tiff/GeoTIFF` 提供独立读取能力。 - 可读取影像尺寸、波段数、GeoTransform 是否存在、投影 WKT 等基础信息。 - 大图显示链路改造: - 打开大 TIFF 时先显示低分辨率预览图,优先保证首屏可见。 - 根据当前视口按需请求局部清晰图块,而不是反复整图解码。 - 缩放、平移、窗口变化后自动刷新局部细节层,降低大图浏览卡顿。 - 工程与运行时部署补强: - `CMakeLists.txt` 增加 `RS_ENABLE_GDAL` 与 `RS_GDAL_ROOT` 配置。 - `build_and_run.bat` 增强 GDAL、Qt 插件、OpenCV 运行时复制逻辑。 - 自动生成 `qt.conf`,降低本地环境差异导致的启动失败。 ## V0.7.4 增补 - UI 工作台重构: - 主窗口版本切到 `v0.7.4`。 - 引入本地 SVG 图标资源(Tabler Icons, MIT)。 - 工具栏改为更紧凑的一行布局,`文件` 入口改成下拉菜单。 - 左栏重做为摘要卡 + 任务卡列表,任务状态贴片悬浮在卡片右上角。 - 右栏重做为固定“当前状态” + 下方滚动控制面板结构。 - `算法档位` 从下拉框改成互斥按钮。 - 移除 `常用 Top10` 独立区块,统一保留“最近使用 / 全部小类”两组类别入口。 - `最近使用 / 全部小类 / 点引导候选` 均改为更接近专业工具面板的行式卡片。 - 点引导 OpenCV 链路修正: - 对 GDAL/TIFF 预览图增加坐标映射,不再因为 `isRasterBacked()` 默认强制几何降级。 - OpenCV 仍可在预览图上分析,并把候选坐标映射回原图坐标系。 ## V0.7.4 UI 基线 - 设计参考以 `设计/v0.7.4-pro-tool-ui/annotation-workbench-pro-tool-设计稿.html` 为主。 - 功能保持原有逻辑不变,本轮以工作台视觉重构和信息密度优化为主。 - 顶部导航保持单行,不再回退到双行工具栏。 - 右栏保持“顶部固定状态区 + 下方可滚动内容区”结构,滚动时当前状态位置不变。 - `算法档位` 保持为两个互斥按钮,不再使用下拉框。 - 右栏不恢复 `常用 Top10` 区块,也不使用右侧数字徽标样式。 ## 当前能力 - 影像加载与显示:支持 `png/jpg/tif/tiff`,其中大尺寸 `TIFF / GeoTIFF` 可优先走 GDAL 读取链路。 - 画布交互:滚轮缩放、中键平移、重置缩放。 - 标注形态:`HBB / OBB / Polygon`。 - 点引导候选:速度/质量档位、置信度排序、失败降级。 - 类别体系:大类/小类、最近使用/全部、中文/alias 搜索、Enter 快选。 - 项目化状态管理: - `project.json` 记录项目级状态(当前图、模式、形态、图像清单等)。 - 每图标注独立存储到 `Saves/annotations/*.json`。 - 手动保存与自动保存统一走项目体系。 - 启动时自动恢复最近项目(默认项目存在时)。 - 导出:支持 VOC + YOLO;支持导出前多图勾选(仅当前/全选/自定义)。 ## 代码结构 ```text src/ main.cpp # 程序入口 ui/ MainWindow.h/.cpp # 主窗口编排层(工具栏、状态、业务流程) CanvasView.h/.cpp # 画布层(渲染、交互、绘制) annotation/ AnnotationTypes.h # 标注统一数据模型(HBB/OBB/Polygon) AnnotationManager.h/.cpp # 标注对象管理(增删改查 + 信号) algo/ * # 候选生成、几何工具、置信度评分、形状转换 classification/ ClassCatalog.h/.cpp # 类别配置加载/保存与默认类目 io/ VocIo.h/.cpp # VOC 导入、VOC 导出、YOLO 导出 GdalRasterReader.h/.cpp # GDAL 大图读取封装 state/ ProjectStateStore.h/.cpp # 项目状态与标注文件持久化 ``` ## 构建与运行 ### 编译环境要求 - MinGW 需使用 `13.1` 版本(GCC/G++ 13.1)。 - 使用其他 MinGW 版本可能在链接阶段出现“找不到符号/未解析符号”错误。 - 若 Qt 安装路径不是默认值,请设置 `QT_MINGW_ROOT`(示例:`E:\Qt\6.10.2\mingw_64`)。 - 若需启用 GDAL 大图读取,请确保 `RS_GDAL_ROOT` 指向可用的 GDAL 目录,默认会尝试 `third_party/gdal-mingw13.1`。 ### 推荐脚本 ```bat clean_build.bat build_and_run.bat build_and_run.bat Release ``` ### 手动 CMake(Debug) ```bat cmake -S . -B build-Debug -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug cmake --build build-Debug -j ``` ### 手动 CMake(Release) ```bat cmake -S . -B build-Release -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release cmake --build build-Release -j ``` ## TIFF / GeoTIFF 注意事项 - 若提示 `Unsupported image format` 且支持列表里没有 `tif`: - 安装 Qt 组件:`Qt Image Formats`(对应你的 Qt 版本,如 6.10.2)。 - 确认存在:`\plugins\imageformats\qtiff.dll`(或 `qtiffd.dll`)。 - 若已启用 GDAL: - 大尺寸 `tif/tiff/GeoTIFF` 会优先走 GDAL 读取和视口局部补清晰链路。 - 当前版本重点是提升大图可视化可用性,尚未扩展到 GIS 坐标标注与 GIS 格式导出。