函数:findImage 误差找图
函数功能:在指定区域中,寻找指定的图案,返回其左上角顶点坐标。
引擎版本:iOS v2.3.0、Android v3.1.8 及其以上
函数方法
x,y = findImage( picpath,x1,y1,x2,y2,deviation);
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
picpath | string | 是 | 将要寻找的图片文件名 |
x1 | number | 是 | 找图区域左上角顶点屏幕横坐标 |
y1 | number | 是 | 找图区域左上角顶点屏幕纵坐标 |
x2 | number | 是 | 找图区域右下角顶点屏幕横坐标 |
y2 | number | 是 | 找图区域右下角顶点屏幕纵坐标 |
deviation | number | 否 | 允许偏差范围,0 代表不允许存在偏差即完全匹配, 数字越大越容易找到,但准确度也会随之降低,最高值为 40000000 |
返回值 | 类型 | 说明 |
---|---|---|
x,y | number | 找到的图片的左上角顶点坐标,如未找到则返回 -1,-1 |
函数用例
精确寻找指定区域中,指定图片的位置,寻找符合条件的图片
w, h = getScreenSize()
snapshot("test.png",1,1,55,55) --截图到资源文件夹
x, y = findImage("test.png", 0, 0, w-1, h-1);--在(0,0)到(w-1,h-1)寻找刚刚截图的图片
if x ~= -1 and y ~= -1 then --如果在指定区域找到某图片符合条件
toast("x:"..x.."\r\n".."y:"..y,5); --显示坐标
else --如果找不到符合条件的图片
toast("没有找到图片!",5);
end
注意事项
- 此函数推荐与 snapshot 截图函数配合使用,成功率较高。
- 此函数实现原理:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/template_matching/template_matching.html
- iOS 默认图片路径为 /var/mobile/Media/TouchSprite/res(参数中无需填写完整路径),Android 默认图片路径为 /mnt/sdcard/TouchSprite/res/,自建目录请填写相对路径。
- 若该函数找图不理想可使用
findimageinregionfuzzy
,几种找图方式可配合使用。 - 为了防止 TSP 脚本中图片泄露,引擎版本 Android v3.1.7 、iOS v3.1.0 及其以上版本已支持对图片进行加密,详见拓展阅读-TSP 脚本图片加密。
- 雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。