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]