注册 登录
发贴工具
查看: 60|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] AIWROK软件找图__方法小汇集

[复制链接]

2243

主题

2291

帖子

1万

积分

积分
13662
跳转到指定楼层
楼主


AIWROK软件找图__方法小汇集 群发软件发帖工具 AIWROK软件找图__方法小汇集 群发软件发帖工具 AIWROK软件找图__方法小汇集 群发软件发帖工具
  1. // 第一种方法: 定义图像查找函数(参数顺序:查找区域,模板图像,相似度)
  2. function 查找图像(searchRegion, templateImage, similarity) {
  3.     // 获取屏幕截图并转换为Mat(注意尺寸参数需与实际设备匹配)
  4.     var mat = screen.screenShot(720, 1280, 0).getMat();
  5.    
  6.     // 在指定区域内进行模板匹配
  7.     var result = opencv.templateMatch(mat, [templateImage], similarity, searchRegion, true);
  8.    
  9.     // 处理结果
  10.     if (result) {
  11.         var target = result[0].getRealRect();
  12.         auto.clickPoint(target.getCenterX(), target.getCenterY());
  13.         return true;
  14.     }
  15.     return false;
  16. }

  17. // 使用示例:
  18. // 1.定义查找区域(相对坐标[x1,y1,x2,y2])
  19. var 查找区域 = [0.3524, 0.3115, 0.4253, 0.3555]; // 查找区域的左上角和右下角相对屏幕的坐标

  20. // 2.获取模板图像(ES5兼容写法)
  21. var 全屏截图 = screen.screenShotFull(); // 获取全屏截图
  22. var 模板图片 = 全屏截图.cutImagePercent( // 从全屏截图中裁剪出模板图像
  23.     查找区域[0], // x1
  24.     查找区域[1], // y1
  25.     查找区域[2], // x2
  26.     查找区域[3]  // y2
  27. ).toBase64(); // 将裁剪出来的图像转换为Base64编码
  28. 全屏截图.recycle(); // 释放全屏截图资源,避免内存泄漏

  29. // 3.执行查找(参数顺序:区域,模板,相似度)
  30. // 如果在指定的查找区域内找到了与模板图像相似度达到0.8的目标,则自动点击该目标的中心坐标,并返回true
  31. if (查找图像(查找区域, 模板图片, 0.8)) {
  32.     printl("操作成功");
  33. } else {
  34.     printl("未找到目标");
  35. }

  36. //第二个方法, 标准遍历找图函数
  37. function 遍历找图(配置参数) {
  38.     /* 参数说明
  39.        配置参数 = {
  40.           模板区域: [x1,y1,x2,y2],  // 必填,截图区域相对坐标
  41.           查找区域: [x1,y1,x2,y2],  // 必填,匹配范围相对坐标
  42.           二值阈值: [50,150],       // 可选,预处理阈值
  43.           相似度: 0.8              // 匹配精度
  44.        }
  45.     */
  46.    
  47.     // 生成模板图像
  48.     var 全屏截图 = screen.screenShotFull(); // 获取全屏截图
  49.     var 模板图像 = 全屏截图.cutImagePercent( // 从全屏截图中裁剪出模板图像
  50.         配置参数.模板区域[0],
  51.         配置参数.模板区域[1],
  52.         配置参数.模板区域[2],
  53.         配置参数.模板区域[3]
  54.     ).toBase64(); // 将裁剪出来的图像转换为Base64编码
  55.     全屏截图.recycle(); // 释放全屏截图资源,避免内存泄漏

  56.     // 预处理+匹配流程
  57.     var 处理截图 = screen.screenShot(432, 768, 100).getMat(); // 获取屏幕截图并转换为Mat格式
  58.     if(配置参数.二值阈值){
  59.         opencv.threshold(处理截图, 配置参数.二值阈值[0], 配置参数.二值阈值[1]); // 对图像进行二值化处理
  60.     }
  61.    
  62.     // 在指定的查找区域内,使用指定的相似度对模板图像进行匹配
  63.     var 匹配结果 = opencv.templateMatch(
  64.         处理截图,
  65.         [模板图像],
  66.         配置参数.相似度,
  67.         配置参数.查找区域,
  68.         true
  69.     );

  70.     // 结果处理
  71.     if(匹配结果 && 匹配结果.length > 0){
  72.         for(var i=0; i<匹配结果.length; i++){
  73.             var 坐标 = 匹配结果[i].getRealRect(); // 获取每个匹配项的实际坐标
  74.             printl('发现目标 '+(i+1)+'# X:'+坐标.x+' Y:'+坐标.y); // 输出发现的目标的坐标信息
  75.             // 自动点击首个目标
  76.             if(i === 0) auto.clickPoint(坐标.getCenterX(), 坐标.getCenterY()); // 如果是第一个匹配项,则点击其中心坐标
  77.         }
  78.         return true;
  79.     }
  80.     return false;
  81. }

  82. /* 使用示例 (符合你截图中的参数需求) */
  83. var 我的配置 = {
  84.     模板区域: [0.1181,0.4453,0.1875,0.4873], // 截图做模板的区域,相对屏幕的坐标
  85.     查找区域: [0,0,1,1],                    // 全屏查找
  86.     二值阈值: [50,150],                    // 启用预处理,设置二值化阈值
  87.     相似度: 0.8                             // 设置匹配精度为0.8
  88. };

  89. // 如果在全屏范围内找到了与模板图像相似度达到0.8的目标,则输出发现的目标的坐标信息,并点击第一个目标的中心坐标,返回true
  90. if(遍历找图(我的配置)){
  91.     printl("任务完成");
  92. } else {
  93.     printl("未发现目标");
  94. }

  95. //第三个方法, 标准区域找图
  96. function 执行找图() {
  97.     // 截图尺寸配置
  98.     var screenWidth = 432;
  99.     var screenHeight = 768;
  100.    
  101.     try {
  102.         // 获取屏幕截图并进行二值化预处理
  103.         var mat = screen.screenShot(screenWidth, screenHeight, 100).getMat(); // 获取屏幕截图并转换为Mat格式
  104.         opencv.threshold(mat, 50, 150); // 对图像进行二值化处理,设置阈值为50到150

  105.         // 使用预设CV配置进行模板匹配
  106.         // '图色120996停止.cv'为预设的配置文件路径,里面包含了模板图像和查找参数等信息
  107.         var 查找结果 = opencv.findImagesEx('图色120996停止.cv');
  108.         
  109.         // 处理匹配结果
  110.         if (查找结果 && 查找结果.length > 0) {
  111.             查找结果.forEach(function(匹配项) {
  112.                 var 坐标 = 匹配项.getRealRect(); // 获取每个匹配项的实际坐标
  113.                 printl('发现目标 X:' + 坐标.x + ' Y:' + 坐标.y); // 输出发现的目标的坐标信息
  114.                 // 自动点击坐标(可选)
  115.                 auto.clickPoint(坐标.getCenterX(), 坐标.getCenterY()); // 点击发现的目标的中心坐标
  116.             });
  117.             return true;
  118.         }
  119.         
  120.         printl("当前屏幕未发现目标"); // 如果未发现目标,则输出此信息
  121.         return false;
  122.     } catch (e) {
  123.         printl("发生异常:" + e.message); // 如果在执行过程中发生异常,则捕获并输出异常信息
  124.         return false;
  125.     }
  126. }
  127. // 执行查找流程
  128. // 调用执行找图函数,如果找到目标则输出"任务完成",否则输出"未发现目标"或异常信息
  129. 执行找图();

  130. //第四个方法, 标准区域找图
  131. // 屏幕截图预处理函数
  132. function 创建模板截图(区域参数) {
  133.     var 全屏图 = screen.screenShotFull(); // 获取全屏截图
  134.     var 模板图 = 全屏图.cutImagePercent( // 从全屏截图中裁剪出模板图像
  135.         区域参数[0],
  136.         区域参数[1],
  137.         区域参数[2],
  138.         区域参数[3]
  139.     ).toBase64(); // 将裁剪出来的图像转换为Base64编码
  140.     全屏图.recycle(); // 释放全屏截图资源,避免内存泄漏
  141.     return 模板图;
  142. }

  143. // 主查找逻辑
  144. function 执行图像匹配() {
  145.     // 1.动态创建模板(替换为实际区域坐标)
  146.     var 模板组 = [
  147.         创建模板截图([0.1, 0.2, 0.3, 0.4]), // 模板1区域
  148.         创建模板截图([0.5, 0.6, 0.7, 0.8])  // 模板2区域
  149.     ];
  150.    
  151.     // 2.执行模板匹配
  152.     var 屏幕数据 = screen.screenShot(720, 1280, 0).getMat(); // 获取屏幕截图并转换为Mat格式
  153.     var 查找区域 = [0.5174, 0.2871, 0.7778, 0.416]; // 设置查找区域的相对坐标
  154.     var 结果 = opencv.templateMatch(
  155.         屏幕数据, // 要查找的屏幕数据
  156.         模板组,   // 匹配的模板组
  157.         0.85,     // 设置匹配精度为0.85
  158.         查找区域, // 设置匹配的区域
  159.         true      // 多目标模式
  160.     );

  161.     // 3.处理匹配结果
  162.     if (结果 && 结果.length > 0) {
  163.         for (var i = 0; i < 结果.length; i++) {
  164.             var 坐标 = 结果[i].getRealRect(); // 获取每个匹配项的实际坐标
  165.             printl('找到目标 X:' + 坐标.x + ' Y:' + 坐标.y); // 输出找到的目标的坐标信息
  166.             auto.clickPoint(坐标.x, 坐标.y); // 点击找到的目标的中心坐标
  167.         }
  168.         return true;
  169.     }
  170.     return false;
  171. }

  172. // 执行流程
  173. // 调用执行图像匹配函数,如果找到目标则输出"操作成功"并点击目标,否则输出"未找到目标"
  174. if (执行图像匹配()) {
  175.     printl("操作成功");
  176. } else {
  177.     printl("未找到目标");
  178. }

  179. //第五个方法, 使用opencv接口进行多目标查找
  180. var results = opencv.findImagesEx('图色120996停止.cv');

  181. if (results) {
  182.     // 遍历所有找到的结果
  183.     for (var i = 0; i < results.length; i++) {
  184.         // 获取每个结果的坐标信息
  185.         var rect = results[i].getRealRect(); // 获取匹配项的实际矩形区域
  186.         var x = rect.getCenterX(); // 获取矩形区域中心点的X坐标
  187.         var y = rect.getCenterY(); // 获取矩形区域中心点的Y坐标
  188.         printl('坐标:' + x + ',' + y); // 输出中心点坐标信息
  189.         
  190.         // 如需点击可取消注释下行
  191.         // auto.clickPoint(x, y); // 点击找到的目标的中心坐标
  192.     }
  193. } else {
  194.     printl("未找到目标"); // 如果未找到目标,则输出此信息
  195. }

  196. //第六个方法,动态找图点击
  197. function 简易找图(模板区域, 相似度) {
  198.     try {
  199.         // 获取模板图片
  200.         var 全图 = screen.screenShotFull(); // 获取全屏截图
  201.         var 模板 = 全图.cutImagePercent(
  202.             模板区域[0],
  203.             模板区域[1],
  204.             模板区域[2],
  205.             模板区域[3]
  206.         ).toBase64(); // 将裁剪出来的图像转换为Base64编码
  207.         全图.recycle(); // 释放全屏截图资源,避免内存泄漏

  208.         // 获取当前屏幕
  209.         var 当前画面 = screen.screenShot(720, 1280, 100).getMat(); // 获取屏幕截图并转换为Mat格式
  210.         
  211.         // 执行匹配
  212.         var 结果集 = opencv.templateMatch(
  213.             当前画面, // 要查找的屏幕数据
  214.             [模板],   // 匹配的模板组
  215.             相似度 || 0.8, // 设置匹配精度,默认为0.8
  216.             [0,0,1,1],    // 全屏查找
  217.             true           // 多目标模式
  218.         );

  219.         // 处理结果
  220.         if (结果集 && 结果集.length > 0) {
  221.             for(var i=0; i<结果集.length; i++) {
  222.                 var 坐标框 = 结果集[i].getRealRect(); // 获取每个匹配项的实际矩形区域
  223.                 // 正确获取中心点坐标的方式 ↓
  224.                 var x = 坐표框.getCenterX(); // 获取矩形区域中心点的X坐标
  225.                 var y = 坐标框.getCenterY(); // 获取矩形区域中心点的Y坐标
  226.                 printl('发现目标' + (i+1) + ' X:' + x + ' Y:' + y); // 输出中心点坐标信息
  227.             }
  228.             return true;
  229.         }
  230.     } catch(e) {
  231.         printl("错误:" + e.toString()); // 如果在执行过程中发生异常,则捕获并输出异常信息
  232.     }
  233.     return false;
  234. }

  235. // 使用示例(需要先截图定义模板区域)
  236. var 我的模板区域 = [0.3,0.2,0.7,0.6]; // [x1,y1,x2,y2] 查找区域的左上角和右下角相对屏幕的坐标
  237. // 如果在全屏范围内找到了与模板图像相似度达到0.85的目标,则输出发现的目标的坐标信息,并点击目标的中心坐标,返回true
  238. if(简易找图(我的模板区域, 0.85)) {
  239.     printl("查找成功!");
  240. } else {
  241.     printl("查找失败");
  242. }
复制代码


方法一:定义图像查找函数
  • 功能:在指定的查找区域内查找与模板图像相似度达到设定值的目标,并自动点击该目标的中心位置。
  • 参数:


    • searchRegion:查找区域的相对坐标,格式为 [x1, y1, x2, y2],其中 (x1, y1) 是左上角坐标,(x2, y2) 是右下角坐标。
    • templateImage:模板图像的Base64编码字符串。
    • similarity:相似度阈值,用于判断是否匹配。
  • 流程:


    • 获取屏幕截图并转换为Mat格式。
    • 在指定区域内进行模板匹配。
    • 如果找到匹配项,则点击其中心位置,并返回true;否则返回false。
方法二:标准遍历找图函数
  • 功能:在指定区域内查找与模板图像相似度达到设定值的目标,并输出所有目标的坐标信息,自动点击首个目标。
  • 参数:


    • 配置参数:一个对象,包含查找区域、模板区域、二值阈值和相似度等配置信息。
  • 流程:


    • 从全屏截图中裁剪出模板图像,并将其转换为Base64编码。
    • 获取屏幕截图并转换为Mat格式。
    • 如果配置了二值阈值,则对图像进行二值化预处理。
    • 在指定的查找区域内进行模板匹配。
    • 如果找到匹配项,则输出每个匹配项的坐标信息,并点击首个匹配项的中心位置,返回true;否则返回false。
方法三:标准区域找图
  • 功能:从预设的配置文件中获取模板图像和查找参数,并在全屏范围内查找与模板图像相似度达到设定值的目标,自动点击首个目标。
  • 流程:


    • 获取屏幕截图并进行二值化预处理。
    • 使用预设的配置文件进行模板匹配。
    • 如果找到匹配项,则输出每个匹配项的坐标信息,并点击首个匹配项的中心位置,返回true;否则返回false。
    • 如果在执行过程中发生异常,则捕获并输出异常信息。
方法四:使用预定义模板进行多目标查找
  • 功能:动态创建模板图像,并在指定区域内查找与模板图像相似度达到设定值的所有目标,自动点击每个找到的目标。
  • 流程:


    • 动态创建模板图像,并将其转换为Base64编码。
    • 获取屏幕截图并转换为Mat格式。
    • 在指定的查找区域内进行模板匹配。
    • 如果找到匹配项,则输出每个匹配项的坐标信息,并点击每个匹配项的中心位置,返回true;否则返回false。
方法五:使用OpenCV接口进行多目标查找
  • 功能:从预设的配置文件中获取模板图像和查找参数,并在全屏范围内查找与模板图像相似度达到设定值的所有目标,输出每个找到的目标的中心坐标。
  • 流程:


    • 使用预设的配置文件进行模板匹配。
    • 如果找到匹配项,则遍历每个匹配项,输出其中心坐标信息。
    • 如需点击可取消注释相关代码行。
方法六:动态找图点击
  • 功能:在全屏范围内查找与模板图像相似度达到设定值的目标,并输出所有目标的中心坐标信息,自动点击每个找到的目标。
  • 参数:


    • 模板区域:查找区域的相对坐标,格式为 [x1, y1, x2, y2]。
    • 相似度:相似度阈值,默认为0.8。
  • 流程:


    • 从全屏截图中裁剪出模板图像,并将其转换为Base64编码。
    • 获取屏幕截图并转换为Mat格式。
    • 在全屏范围内进行模板匹配。
    • 如果找到匹配项,则输出每个匹配项的中心坐标信息,并点击每个匹配项的中心位置,返回true;否则返回false。
    • 如果在执行过程中发生异常,则捕获并输出异常信息。
注意事项
  • 所有代码中的相对坐标是相对于屏幕大小的比例值,因此需要确保坐标值正确且与实际屏幕尺寸匹配。
  • 使用Base64编码可以方便地在不同的脚本或系统之间传递图像数据。
  • 释放资源(如recycle())是防止内存泄漏的重要步骤。
  • 使用二值化阈值可以提高图像匹配的准确性,特别是在颜色复杂的背景下。
  • opencv.findImagesEx()函数通常依赖于预设的配置文件,该文件中包含了模板图像和查找参数等信息。


untoawirok软件找色__方法小汇集nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖