这是一个基于 PyQt6 的图像配准工具,用于红外图像和可见光图像的手动配准和批量处理。
- GUI框架: PyQt6
- 图像处理: OpenCV (cv2)
- 数值计算: NumPy
- 数据存储: JSON
- 文件操作: pathlib
pip install -r requirements.txtpython image_registration_tool.py- 加载红外目录: 选择包含红外图像的目录(支持多级目录结构)
- 加载可见光目录: 选择包含可见光图像的目录(支持多级目录结构)
- 加载结果目录: 选择保存配准参数的目录
支持的图像格式: .png, .jpg, .jpeg, .bmp
- Global 模式: 使用全局参数,适用于批量处理
- Manual 模式: 手动调整每张图像的参数
- 上一张: 切换到上一张图像
- 下一张: 切换到下一张图像
- 保存参数: 保存当前图像的配准参数到 JSON 文件
- dx: X方向偏移量(像素)
- dy: Y方向偏移量(像素)
- ScaleX: X方向缩放比例(0.5x - 2.0x)
- ScaleY: Y方向缩放比例(0.5x - 2.0x)
- Alpha: 混合比例(0.0 - 1.0)
- 0.0: 只显示可见光图像
- 1.0: 只显示红外图像
- 0.5: 等比例混合显示
- 方向键 ← → ↑ ↓: 移动红外图像
- W: 水平放大
- E: 水平缩小
- A: 垂直缩小
- D: 垂直放大
- + / =: 增加混合比例
- -: 减少混合比例
- S: 保存当前参数
- Q / ESC: 退出程序
- 拖拽: 在图像区域点击并拖拽可以移动红外图像
参数以 JSON 格式保存,文件名为图像文件名 + .json 扩展名。
JSON 格式示例:
{
"dx": 10,
"dy": -5,
"scale_x": 1.05,
"scale_y": 0.98
}-
加载图像目录
- 点击"加载红外目录"按钮,选择红外图像目录
- 点击"加载可见光目录"按钮,选择可见光图像目录
-
设置结果目录
- 点击"加载结果目录"按钮,选择保存参数的目录
-
调整配准参数
- 使用偏移量、缩放控件调整图像配准
- 使用混合比例滑块调整显示效果
- 使用键盘快捷键或鼠标拖拽进行快速调整
-
保存参数
- 点击"保存参数"按钮或按 S 键保存当前参数
- 切换图像时可以加载之前保存的参数
-
批量处理
- 使用"上一张"/"下一张"按钮浏览所有图像
- 为每张图像调整参数并保存
JZ_data/
├── image_registration_tool.py # 主程序文件
├── manual_registration.py # 原始 OpenCV 版本
├── requirements.txt # 依赖包列表
├── images/ # 可见光图像目录
├── imagesIR/ # 红外图像目录
└── results/ # 参数保存目录(需创建)
- 红外图像和可见光图像应具有相同的文件名
- 支持多级目录结构,程序会自动匹配相同相对路径的图像
- 参数文件会保存在结果目录中,与图像文件同名(扩展名为 .json)
- 在 Global 模式下,键盘快捷键只支持混合比例调整和退出
- 在 Manual 模式下,可以使用所有键盘快捷键进行参数调整