基于 PyQt6 的 Windows 桌面小工具,提供图像相减、局部放大、图像排版三类功能。界面为中文,采用暖色配色(米白/陶土橙),并启用高 DPI 适配与「微软雅黑」字体。
用于对比两张图在像素层面的差异(需尺寸可统一:程序会按较大边将两张图缩放到同一尺寸后再运算)。
| 能力 | 说明 |
|---|---|
| 输入 | 被减数、减数各一张图;支持拖拽到区域或点击选择。 |
| 交换 | 一键交换两侧图像。 |
| 算法 | 简单相减:逐通道相减后归一化到 0–255。绝对值相减(默认):逐像素取绝对差,更直观。差分显示:差异主要显示在红色通道,便于观察变化区域。 |
| 输出 | 预览结果、处理并保存(文件名带时间戳前缀,见 file_utils.generate_filename)。 |
在原图上框选矩形区域,将选中区域放大后叠加在画面一角(并绘制选区边框),适合论文插图、标注说明。
| 能力 | 说明 |
|---|---|
| 单图模式 | 打开一张图,拖拽或点击加载;在预览区框选;可设框选边长(10–1000 px)、边框颜色(色块 + 选色对话框)。支持预览与保存(PNG/JPEG)。 |
| 批量处理模式 | 选择文件夹内多张图,在预览图上框选统一选区,对勾选的多张图批量导出到指定文件夹(默认输出为 原名_magnified.png)。 |
放大区域的插值与叠加逻辑见 src/core/magnify.py;默认放大比例由该模块中 magnify_region 的 scale 参数控制(默认 2.0)。
将多张图按行优先排成网格拼图,可加重叠标题与行列标签。
| 能力 | 说明 |
|---|---|
| 版式 | 快速选择:自定义、2×2、2×3、3×3、3×4、4×4;或手动设行 / 列(各 1–10)。 |
| 标题 | 总标题(可选);行标题:数字 1,2,3… 或自定义;列标题:字母 A,B,C… 或自定义。 |
| 操作 | 在网格格子或列表中添加图像、自动填充、预览、生成并保存(PNG)。 |
拼图单格基准尺寸、间距、边距、DPI 等由 src/core/layout.py 中 ImageLayout.create_layout 的默认参数决定(与 config.DEFAULT_SETTINGS 中的数值一致);当前界面主要调节行列与标题类选项,未单独提供间距/DPI 的滑块。
在 src/config.py 的 SUPPORTED_FORMATS 中定义,与工具内校验一致:
.png、.jpg、.jpeg、.bmp
- 操作系统:开发与日常使用以 Windows 64 位 为主(
start.bat为 Windows 批处理)。 - Python:3.10+ 推荐(依赖见
requirements.txt)。 - 显示:建议分辨率下窗口可调整;最小窗口尺寸由配置项
MIN_WINDOW_SIZE约束。
在项目根目录(与 requirements.txt 同级)执行:
pip install -r requirements.txt主要依赖:PyQt6、Pillow、numpy、opencv-python(当前业务以 Pillow/numpy 为主,opencv 可按项目后续扩展使用)。
项目根目录下的 start.bat 会:
- 切换到脚本所在目录(即项目根目录)。
- 使用固定路径下的解释器:
C:\Users\MASHIRO\.conda\envs\AD\python.exe
执行src\main.py。
若你的 Conda 环境路径不同,请用记事本编辑 start.bat,修改其中的:
set "CONDA_ENV_AD=C:\Users\MASHIRO\.conda\envs\AD"指向你的 envs\AD 目录即可(python.exe 应在该目录下)。
重要(避免窗口一闪而过):批处理中的提示与注释请保持 英文或仅 ASCII,或把文件另存为 ANSI(GBK) 后再写中文。使用 UTF-8 且含中文 时,在简体中文 Windows 的 cmd 下可能解析错乱,导致 set 等命令失败并立即退出。
在已激活的虚拟环境或全局环境中,于项目根目录执行:
python src/main.py需保证已 pip install -r requirements.txt,且工作目录为项目根(以便 src 包与资源路径正确)。
| 配置项 | 作用 |
|---|---|
COLORS |
全局界面配色(背景、强调色、文字、边框、标签页等)。被 main_window、各组件与样式表引用。 |
SUPPORTED_FORMATS |
允许的图像扩展名列表;与 file_utils 等校验逻辑一致。 |
WINDOW_SIZE |
主窗口初始大小 (宽, 高),默认 (1200, 800)。 |
MIN_WINDOW_SIZE |
主窗口允许的最小尺寸,默认 (900, 600)。 |
DEFAULT_SETTINGS |
集中存放推荐默认值:如 magnify_scale、layout_spacing、layout_margin、layout_dpi、output_quality。其中部分与 core 层函数默认参数一致,便于以后把界面与配置统一;若某功能未从该字典读取,改此处不会自动改变界面控件,需同时改对应 core 或 UI 逻辑。 |
修改配色或窗口尺寸后,重新启动程序即可生效。
├── LICENSE # MIT 许可证
├── README.md
├── requirements.txt
├── start.bat # Windows:指定 Conda AD 环境并启动
└── src/
├── main.py # 入口:QApplication、主窗口
├── config.py # 配色、窗口尺寸、格式与默认参数
├── core/ # 图像算法(相减、放大、排版)
├── ui/ # 主窗口、各标签页与组件
└── utils/ # 文件名与路径工具
本项目以 MIT License 发布,详见仓库根目录 LICENSE 文件。