# picpro **Repository Path**: Hao-ki/picpro ## Basic Information - **Project Name**: picpro - **Description**: 图像BOX标注工具和图像质量评价等图像工具箱。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PicPro - 图像工具箱 ## 项目简介 PicPro是一个基于WPF开发的综合图像工具箱,主要用于学术图像分析和处理。该工具集成了BOX标注和IQA(图像质量评估)两大核心功能,提供了直观的界面,支持批量处理、质量评估和多种交互式操作。 ## 主要功能 ### 核心功能 - **图像加载**:支持加载单个图像或整个文件夹 - **BOX标注**:支持1-4个标注框的创建和调整 - **独立裁剪设置**:每个BOX数量(1-4)都有独立的裁剪高度/宽度设置 - **批量处理**:支持批量导出多个图像的标注结果 - **目录结构保留**:批量导出时保留原始文件夹结构 - **图像质量评估**:支持PSNR和SSIM两个质量评估指标 - **双图像对比**:支持同时加载和对比两张图像 - **交互式操作**:支持鼠标滚轮缩放和拖动平移 ### 高级功能 - **文件夹选择**:支持勾选整个文件夹,自动选择其中所有文件 - **文件计数**:在文件列表中显示每个文件夹包含的文件数量 - **进度条**:批量导出时显示进度条,提高用户体验 - **默认值重置**:一键重置所有BOX设置到默认值 - **响应式设计**:适配不同屏幕尺寸 - **拖放支持**:支持通过拖放方式加载图像 - **实时评估**:图像加载后实时计算并显示质量评估指标 ## 技术栈 - **开发框架**:.NET 8.0 WPF - **开发语言**:C# - **UI框架**:Windows Presentation Foundation (WPF) - **数据绑定**:MVVM模式 - **文件系统**:.NET IO操作 - **图像处理**:System.Drawing - **构建工具**:dotnet CLI ## 快速开始 ### 环境要求 - Windows 10/11 - .NET 8.0 Runtime ### 安装方法 #### 方法1:使用便携版(推荐) 1. 下载 `picpro-portable.zip` 文件 2. 解压到任意文件夹 3. 双击 `picpro.exe` 运行 #### 方法2:从源码构建 1. 克隆本仓库 2. 使用 Visual Studio 2022 或更高版本打开项目 3. 构建并运行项目 ## 使用说明 ### 加载图像 1. **加载单个图像**:点击"加载图像"按钮,选择单个图像文件 2. **加载文件夹**:点击"加载文件夹"按钮,选择包含图像的文件夹 ### 标注设置 1. **选择BOX数量**:在工具栏中选择需要的BOX数量(1-4) 2. **调整BOX位置**:在图像上拖动BOX到合适位置 3. **设置裁剪尺寸**:根据需要调整每个BOX数量对应的裁剪高度和宽度 4. **重置设置**:点击"重置"按钮恢复默认设置 ### 导出结果 1. **单个图像导出**:加载单个图像后,点击"导出结果"按钮 2. **批量导出**:加载文件夹后,选择需要导出的文件(可选择整个文件夹),点击"导出结果"按钮 ### IQA功能使用 1. **切换到IQA工具**:在工具栏中选择"IQA"选项卡 2. **加载图像**: - 方法1:点击图像区域,选择图像文件 - 方法2:直接拖放图像文件到图像区域 3. **查看质量评估**:图像加载后,系统会自动计算并显示PSNR和SSIM值 4. **交互式操作**: - **缩放**:使用鼠标滚轮缩放图像 - **平移**:按住鼠标左键拖动图像 5. **对比分析**:同时加载两张图像,观察质量评估指标,进行对比分析 ## 项目结构 ``` AcademicImageDetailGenerator/ ├── Adorners/ # 装饰器类(用于BOX选择) ├── Converters/ # 转换器类 ├── Views/ # 视图文件 ├── icon/ # 图标文件 ├── App.xaml # 应用程序定义 ├── App.xaml.cs # 应用程序入口 ├── MainWindow.xaml # 主窗口界面 ├── MainWindow.xaml.cs # 主窗口逻辑 ├── BoxesToolView.xaml # BOX工具界面 ├── BoxesToolView.xaml.cs # BOX工具逻辑 ├── IQAWorkspace.xaml # IQA工具界面 ├── IQAWorkspace.xaml.cs # IQA工具逻辑 ├── ProgressWindow.xaml # 进度条窗口 ├── ProgressWindow.xaml.cs # 进度条逻辑 ├── BoxSettingsViewModel.cs # BOX设置视图模型 ├── BoxCountToVisibilityConverter.cs # BOX数量到可见性转换器 ├── AcademicImageDetailGenerator.csproj # 项目配置 └── README.md # 项目说明 ``` ## 核心功能实现 ### 1. BOX标注系统 - 使用WPF装饰器层实现可拖动、可调整大小的BOX - 支持1-4个BOX的创建和管理 - 每个BOX数量有独立的裁剪尺寸设置 ### 2. 批量处理系统 - 保留原始文件夹结构 - 使用进度条显示处理进度 - 支持选择性导出(只导出勾选的文件) ### 3. 文件系统集成 - 递归扫描文件夹结构 - 支持文件夹级别的选择 - 实时显示文件夹中的文件数量 ### 4. IQA系统 - **双图像加载**:支持加载两张图像进行对比 - **质量评估指标**:实现PSNR和SSIM计算 - **交互式操作**:支持图像缩放和平移 - **拖放功能**:支持通过拖放方式加载图像 - **实时计算**:图像加载后自动计算并显示质量评估结果 ## 构建和发布 ### 构建项目 ```bash dotnet build -c Release ``` ### 发布便携版 ```bash dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:AssemblyName=picpro ``` ## 贡献指南 欢迎提交Issue和Pull Request来改进这个项目。 ## 许可证 本项目采用MIT许可证。 ## 联系方式 如有问题或建议,请通过Gitee仓库提交Issue。 --- **版本**:1.0.0 **发布日期**:2026-01-29