From ee578298b944a60d06f773b6fcd99b96fde0f1d7 Mon Sep 17 00:00:00 2001 From: Admin Date: Fri, 17 Jul 2026 01:20:04 +0000 Subject: [PATCH] fix: mark Detection models as optional (requires OpenCV 4.8+) --- internal/captcha/handler.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/captcha/handler.go b/internal/captcha/handler.go index 730a7c4..7eae4c0 100644 --- a/internal/captcha/handler.go +++ b/internal/captcha/handler.go @@ -35,8 +35,9 @@ var modelConfigs = map[string]struct { "Rotation-RotNetR.onnx": {remote: "[AntiCAP]-Rotation-RotNetR.onnx", optional: false}, "Siamese-ResNet18.onnx": {remote: "[AntiCAP]-Siamese-ResNet18.onnx", optional: false}, "CharSets.txt": {remote: "[Dddd]-CharSets.txt", optional: false}, - "Detection_Icon.onnx": {remote: "Detection_Icon.onnx", optional: false}, - "Detection_Text.onnx": {remote: "Detection_Text.onnx", optional: false}, + // Detection 模型需要 OpenCV 4.8+ 支持,暂标记为可选 + "Detection_Icon.onnx": {remote: "Detection_Icon.onnx", optional: true}, + "Detection_Text.onnx": {remote: "Detection_Text.onnx", optional: true}, } // 从 Gitea 仓库下载(公开仓库,无需认证) @@ -95,11 +96,11 @@ func (h *Handler) loadModels() { } } - // 加载 YOLO 检测模型 + // 加载 YOLO 检测模型(需要 OpenCV 4.8+) iconPath := filepath.Join(h.modelPath, "Detection_Icon.onnx") if _, err := os.Stat(iconPath); err == nil { if err := opencv.LoadYOLO("icon", iconPath, ""); err != nil { - fmt.Printf("警告: 加载 Icon 检测模型失败: %v\n", err) + fmt.Printf("提示: Icon 检测模型加载失败 (需要 OpenCV 4.8+): %v\n", err) } else { fmt.Println("Icon 检测模型加载成功") } @@ -108,7 +109,7 @@ func (h *Handler) loadModels() { textPath := filepath.Join(h.modelPath, "Detection_Text.onnx") if _, err := os.Stat(textPath); err == nil { if err := opencv.LoadYOLO("text", textPath, ""); err != nil { - fmt.Printf("警告: 加载 Text 检测模型失败: %v\n", err) + fmt.Printf("提示: Text 检测模型加载失败 (需要 OpenCV 4.8+): %v\n", err) } else { fmt.Println("Text 检测模型加载成功") }