YYPOST群发软件 发表于 6 天前

AIWROK软件关闭/点赞场景 YOLOv5 检测示例

AIWROK软件关闭/点赞场景 YOLOv5 检测示例


https://www.yuque.com/aiwork/nba2pr/cx3tzty1qm0xeg7u







// ====== 关闭/点赞场景 YOLOv5 检测示例 ======

//初始化yolov5
var yolo = new yoloV5();

// close模型文件在"资源"目录下,需要用getResPath()获取路径
var resPath = project.getResourcesPath();
var label = resPath + "close.txt";
var param = resPath + "close.param";
var bin   = resPath + "close.bin";

printl("模型路径: " + bin);

//加载模型(GPU优先,无GPU走CPU)
var model;
if (yolo.CheckGPU == true) {
    model = yolo.loadModel(label, param, bin, 4, false); // 4线程, GPU
} else {
    model = yolo.loadModel(label, param, bin, 4, true);// 4线程, CPU
}

if (model != null) {
    printl("close模型加载失败,请检查close.bin/param/txt是否在资源目录中");
} else {
    printl("close模型加载成功,标签: 赞 / 收藏");

//截图(全屏)
var img = screen.screenShotFull();

try {
    //检测,返回JSON字符串
    var resStr = yolo.detectJson(img, 0.45, 0.55, 640);
    printl("检测结果: " + resStr);

    //JSON字符串转数组
    var res;
    try {
      res = JSON.parse(resStr);
    } catch (e) {
      printl("JSON解析失败: " + e);
      res = null;
    }

    //解析结果并逐个点击
    if (res && res.length > 0) {
      for (var i = 0; i < res.length; i++) {
            var item = res;
            var name = item["标签"];   // 标签名: "赞" 或 "收藏"
            var conf = item["精度"];   // 置信度
            var x = item["X"];         // 检测框中心X
            var y = item["Y"];         // 检测框中心Y

            printl("检测到 [" + name + "] 置信度:" + conf + " 坐标:" + x + "," + y);

            //无碍模式点击:try-catch包裹,失败不影响后续
            try {
                auto.clickPoint(x, y);
                printl("点击完成: " + x + "," + y);
            } catch (e) {
                printl("点击异常(已忽略): " + e);
            }
            sleep.second(1);
      }
    } else {
      printl("未检测到目标");
    }
} finally {
    //释放截图Mat,防止内存泄漏
    try { img.recycle(); } catch (e) {}
}

}

//释放模型
yolo.Close();
printl("检测完成,已释放模型");


页: [1]
查看完整版本: AIWROK软件关闭/点赞场景 YOLOv5 检测示例