B2B网络软件

标题: AIWROK软件关闭/点赞场景 YOLOv5 检测示例 [打印本页]

作者: YYPOST群发软件    时间: 1 小时前
标题: AIWROK软件关闭/点赞场景 YOLOv5 检测示例
AIWROK软件关闭/点赞场景 YOLOv5 检测示例


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

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

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

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

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

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

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

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

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

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

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

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

  27.     //JSON字符串转数组
  28.     var res;
  29.     try {
  30.         res = JSON.parse(resStr);
  31.     } catch (e) {
  32.         printl("JSON解析失败: " + e);
  33.         res = null;
  34.     }

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

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

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

  60. }

  61. //释放模型
  62. yolo.Close();
  63. printl("检测完成,已释放模型");
复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2