 | |  |  | 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[i];
- 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("检测完成,已释放模型");
复制代码
| |  | |  |
|