feat: implement stamp content matching
This commit is contained in:
@@ -1569,3 +1569,25 @@
|
||||
- [x] 明确第三方库:最小 `opencv-python` + `numpy`,建议用 `Pillow` 处理 Windows 中文路径
|
||||
- [x] 明确约束:独立脚本、不引用项目代码、不修改图片、第一版不写 CSV/Excel、不接入 GUI
|
||||
- [x] 验证:文档格式检查通过
|
||||
|
||||
### 19.32 独立脚本:按图片内容匹配合并图印花 — `match_stamp.py`
|
||||
|
||||
前置阅读:
|
||||
|
||||
- `docs/12-stamp-template-matching.md`
|
||||
- `match_stamp.py`
|
||||
|
||||
背景:
|
||||
|
||||
§19.31 已明确真实需求不是按 `1_TY037.png -> TY037.png` 的文件名规则匹配,而是给定一张衣服 / 合并图和一个印花目录,通过图像内容匹配找出最相似的印花。第一版继续保持为独立脚本,不接入 GUI,不写 CSV,直接打印结果。
|
||||
|
||||
任务:
|
||||
|
||||
- [x] 将 `match_stamp.py` 从“递归扫描 output 并按文件名写 CSV”改为“单张合并图 + 印花目录内容匹配”
|
||||
- [x] 使用 `Pillow` 读取图片以兼容 Windows 中文路径,再转为 `numpy` / OpenCV 数组
|
||||
- [x] 遍历印花目录内 PNG/JPG/JPEG/WEBP 图片,对透明 PNG 使用 alpha mask 并裁剪透明边界
|
||||
- [x] 使用多尺度模板匹配,主分数使用 RGB 彩色 `matchTemplate`,边缘图分数作为辅助
|
||||
- [x] 输出最佳匹配和 Top N,包含综合分、模板分、边缘分、坐标、缩放比例和匹配尺寸
|
||||
- [x] 找不到高可信结果时打印低分提示;不保存 CSV,不修改任何图片
|
||||
- [x] 支持命令行覆盖 `--image`、`--stamp-dir`、`--top`
|
||||
- [x] 验证:`python -m py_compile match_stamp.py` 通过;临时构造一张合并图和两个候选印花,Top 1 命中正确印花
|
||||
|
||||
Reference in New Issue
Block a user