回答
在 Hamibot 中截取并识别特定图标,可通过以下脚本实现:
auto.waitFor();
// 请求截图权限
if (!requestScreenCapture()) {
toast("请开启屏幕截图权限");
hamibot.exit();
}
// 读取要查找的图标模板(需提前保存到设备)
var templ = images.read('/sdcard/微信图标.png');
// 截取当前屏幕
var screen = captureScreen();
// 在屏幕中查找图标
var result = images.findImage(screen, templ, {
threshold: 0.8, // 匹配阈值(0-1,越高越严格)
region: [0, 0, device.width, device.height] // 搜索区域(可选)
});
if (result) {
toast("找到图标,坐标:" + result);
click(result.x, result.y); // 点击图标位置
} else {
toast("未找到图标");
}
使用步骤:
- 将需要查找的图标截图保存到手机存储(如
/sdcard/微信图标.png
) - 确保图标背景与目标场景一致(不同背景需不同模板)
- 调整
threshold
参数(建议 0.7-0.9) - 可通过
region
参数缩小搜索范围提升效率
常见问题处理:
- 若找不到图标 ⇒ 检查模板图片是否与屏幕显示一致
- 误识别率高 ⇒ 提高 threshold 值或改用多色识别(images.findMultiColors)
- 需要横屏截图 ⇒ 使用 requestScreenCapture(true)
ℹ️ 本回答由 AI 生成,内容仅供参考