YYPOST群发软件 发表于 2025-3-13 09:31:09

awirok软件找色__方法小汇集



// 第一个方法 示例:使用auto.findColors匹配区域内的多点颜色组合
function findMultipleColors() {
    // 1. 设置图像质量:0=标准清晰度,1=高清晰度,2=超清晰度
    var imageQuality = 0;

    // 2. 设置主颜色
    var mainColor = "606,400,#264878"; // 示例颜色,坐标(606,400),颜色代码#264878

    // 3. 设置多点颜色匹配数组(相对于主颜色的附加颜色点)
    var multiColors = [
      "601,413,#1E4276",
      "597,428,#1E4276",
      "591,429,#F8FBFF"
    ];

    // 4. 偏色和偏移阈值
    var colorThreshold = 2;
    var offsetThreshold = 5;

    // 5. 设置目标区域(按比例传入:左上,右下)
    var targetRegion = ;

    // 6. 设置匹配相似度(0~1,值越接近1,匹配要求越严格)
    var similarity = 0.95;

    // 7. 执行颜色查找
    var matchedColors = auto.findColors(
      imageQuality, mainColor, multiColors,
      colorThreshold, offsetThreshold, targetRegion, similarity
    );

    // 8. 处理查找结果
    if (matchedColors && matchedColors.length > 0) {
      for (var i = 0; i < matchedColors.length; i++) {
            var place = matchedColors.getRealRect();
            var x = place.getCenterX();
            var y = place.getCenterY();
            printl("匹配成功!中心点坐标:" + x + "," + y);

            // 可选:点击匹配区域
            matchedColors.click();
      }
    } else {
      printl("未找到任何匹配区域");
    }
}

// 执行查找函数
findMultipleColors();


// 第二个方法 示例:findMultiColor 找色
function findMultiColor() {
    // 1. 截图并获取Mat对象
    var mat = screen.screenShot(720, 1280, 100).getMat();

    // 2. 设置基点颜色及附加点信息
    var basePoint = "607,425,#264878";
    var multiColors = [
      "601,413,#1E4276",
      "597,428,#1E4276",
      "591,429,#F8FBFF"
    ];

    // 3. 调节查找参数:偏差范围和相似度
    var colorThreshold = 2;
    var offsetThreshold = 5;
    var searchRegion = ;
    var similarity = 0.95;

    // 4. 执行查找
    var seek = opencv.findMultiColor(
      mat, basePoint, multiColors,
      colorThreshold, offsetThreshold, searchRegion, similarity
    );

    // 5. 处理结果
    if (seek) {
      seek.click();
      printl("找到目标并点击!");
    } else {
      printl("未找到匹配目标!");
    }
}

// 执行函数
findMultiColor();


// 第三个方法 示例:findMultiColorEx精简找色
function findMultiColorExExample() {
    // 1. 定义CV文件名
    var cvFileName = "图色655802确定.cv";

    // 2. 查找目标
    var result = opencv.findMultiColorEx(cvFileName);

    // 3. 处理结果并点击
    if (result) {
      result.click();
      printl("找到目标,并点击了第一个匹配位置!");
    } else {
      printl("未找到目标!");
    }
}

// 执行查找函数
findMultiColorExExample();


// 第四个方法 示例:findColors 多点找色
function findColorsExample() {
    var imageQuality = 1;
    var mainColor = "607,425,#264878";
    var multiColors = [
      "601,413,#1E4276",
      "597,428,#1E4276",
      "591,429,#F8FBFF"
    ];
    var colorThreshold = 10;
    var offsetThreshold = 5;
    var searchArea = ;
    var similarity = 0.95;

    var results = auto.findColors(
      imageQuality, mainColor, multiColors,
      colorThreshold, offsetThreshold, searchArea, similarity
    );

    if (results && results.length > 0) {
      for (var i = 0; i < results.length; i++) {
            printl("找到目标坐标: X = " + results.x + ", Y = " + results.y);
      }
    } else {
      printl("未找到符合条件的颜色点!");
    }
}

// 执行查找函数
findColorsExample();


// 第九个方法 示例:遍历找色
function 遍历找色(cvFileName) {
    // 1. 查找匹配的颜色
    var results = opencv.findMultiColorEx(cvFileName);
    if (!results) {
      printl("未找到任何匹配项!");
      return null;
    }

    // 2. 遍历找到的结果
    for (let i = 0; i < results.length; i++) {
      var rect = results.getRealRect();
      var centerX = rect.getCenterX();
      var centerY = rect.getCenterY();
      printl("目标坐标:" + centerX + "," + centerY);

      // 3. 点击找到的颜色点
      auto.clickPoint(centerX, centerY);
    }

    return results;
}

// 调用泛用找色方法
var results = 遍历找色('图色257584领取.cv');
if (results) {
    printl("找色完成,共找到:" + results.length + " 个目标!");
} else {
    printl("未找到目标!");
}
详细说明第一个方法 示例:使用auto.findColors匹配区域内的多点颜色组合

该方法使用auto.findColors来查找屏幕上的多点颜色组合。首先设置图像质量、主颜色、多点颜色数组、偏色阈值、偏移阈值、目标区域和相似度。然后调用auto.findColors进行查找,如果找到匹配的颜色组合,则输出相应区域的中心坐标并可选地点击该区域;否则输出未找到匹配区域。
第二个方法 示例:findMultiColor 找色

该方法使用opencv.findMultiColor来查找屏幕上的多点颜色组合。首先截取屏幕并获取Mat对象,然后定义基点信息和多点颜色信息,设置偏色阈值、偏移阈值、搜索区域和相似度,调用opencv.findMultiColor进行查找。如果找到匹配的颜色组合,则点击第一个匹配项并输出找到;否则输出未找到匹配目标。
第三个方法 示例:findMultiColor 找色

该方法使用opencv.findMultiColorEx来查找屏幕上的多点颜色组合。首先定义一个包含多点颜色信息的CV文件名,然后调用opencv.findMultiColorEx进行查找。如果找到匹配的颜色组合,则点击第一个匹配项并输出找到;否则输出未找到目标。
第四个方法 示例:findColors 多点找色

该方法同样使用auto.findColors来查找屏幕上的多点颜色组合。首先设置图片质量、主颜色、多点颜色数组、偏色阈值、偏移阈值、查找区域和相似度。然后调用auto.findColors进行查找,如果找到匹配的颜色组合,则循环输出所有找到的目标坐标;否则输出未找到符合条件的颜色点。
第五个方法 示例:checkColors 多点比色

该方法使用opencv.checkColors来检查屏幕上是否存在指定的多个颜色点。首先截取屏幕并获取Mat对象,然后定义要检查的颜色点数组,设置偏色阈值、偏移阈值和相似度,调用opencv.checkColors进行检查。如果找到匹配的颜色点,则输出找到;否则输出未找到。
第六个方法 示例:opencv.checkColorsEx多点比色

该方法使用opencv.findImagesEx来查找图像匹配。首先调用opencv.findImagesEx方法查找匹配的图像,返回目标数组。如果找到匹配的图像,则点击第一个匹配项并打印结果数组;否则输出未找到匹配目标。
第七个方法 示例:getcolorNum获取区域色数量

该方法使用opencv.getcolorNum来获取指定区域内某个颜色或颜色组合的数量。首先截取屏幕并获取Mat对象,然后定义要查找的颜色点数组,设置相似度和查找区域,调用opencv.getcolorNum进行查找。最后打印找到的颜色数量。
第八个方法 示例: 封装区域找色函数

该方法封装了一个名为区域找色的函数,用于查找指定CV文件中的颜色组合。首先调用opencv.findMultiColorEx方法查找匹配的颜色,返回第一个匹配结果的实际矩形区域。如果找到匹配项,则输出中心点坐标并点击;否则输出未找到目标。
第九个方法 示例: 遍历找色搜索符合目标颜色或颜色组合的所有匹配结果

该方法封装了一个名为遍历找色的函数,用于查找指定CV文件中的所有颜色组合。首先调用opencv.findMultiColorEx方法查找匹配的颜色,循环处理所有找到的结果,输出每个匹配项的中心点坐标并点击。最后返回找到的所有结果;如果没有找到任何目标,则输出未找到目标。
说明
[*]auto.findColors 和 opencv.findMultiColor 都用于多点颜色查找,前者直接通过指定参数进行查找,后者需要先截取屏幕并获取Mat对象后进行查找。
[*]
[*]opencv.findMultiColorEx 和 opencv.findImagesEx 支持从CV文件中读取颜色和图像信息,简化了代码。
[*]
[*]opencv.checkColors 用于检查屏幕上是否存在指定的多个颜色点。
[*]
[*]opencv.getcolorNum 用于获取指定区域内某个颜色或颜色组合的数量。
[*]
[*]opencv.HSV 用于将图像转换为HSV颜色空间。
[*]
[*]opencv.templateMatch 用于在图像中查找指定的模板图像。
[*]
[*]opencv.OCREx 和 opencv.OCR 用于OCR(光学字符识别)处理,识别屏幕上的文本信息。

页: [1]
查看完整版本: awirok软件找色__方法小汇集