| |  |  |  |  |  | 
                                复制代码// 第一个方法 示例:使用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. 设置目标区域(按比例传入:左上[0.8,0.3],右下[0.87,0.36])
    var targetRegion = [0.80040, 0.30889, 0.87549, 0.35667];
    // 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[i].getRealRect();
            var x = place.getCenterX(); 
            var y = place.getCenterY();
            printl("匹配成功!中心点坐标:" + x + "," + y);
            // 可选:点击匹配区域
            matchedColors[i].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 = [0.80, 0.30, 0.88, 0.36];
    var similarity = 0.95;
    // 4. 执行查找
    var seek = opencv.findMultiColor(
        mat, basePoint, multiColors, 
        colorThreshold, offsetThreshold, searchRegion, similarity
    );
    // 5. 处理结果
    if (seek) {
        seek[0].click();
        printl("找到目标并点击!");
    } else {
        printl("未找到匹配目标!");
    }
}
// 执行函数
findMultiColor();
// 第三个方法 示例:findMultiColorEx精简找色
function findMultiColorExExample() {
    // 1. 定义CV文件名
    var cvFileName = "图色655802确定.cv";
    // 2. 查找目标
    var result = opencv.findMultiColorEx(cvFileName);
    // 3. 处理结果并点击
    if (result) {
        result[0].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 = [0.1, 0.1, 0.9, 0.9];
    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[i].x + ", Y = " + results[i].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[i].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(光学字符识别)处理,识别屏幕上的文本信息。
 
 |  |  |  |  |  | 
 |