找图
from ascript.ios.screen import FindImages
从屏幕中找到 局部图片 的 位置 . 支持全分辨率
方法
查找一个
默认使用模板匹配快路径,支持透明 PNG、多尺度匹配。
FindImages.find(part_img, rect=None, confidence=0.9, rgb=False,
source_img=None, ori=2, scale_range=None, image=None,
method="template", fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级高于自动截图 |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0],默认单尺度 |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| method | str | 否 | 兼容参数,当前默认模板匹配 |
| fast | bool | 否 | 是否启用 Coarse-to-Fine 加速,默认True |
- 返回值
Point 可以通过 x, y 获取坐标,未找到返回 None
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find(R.img("2.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
if res:
print(res.x, res.y)
查找所有
FindImages.find_all(part_img, rect=None, confidence=0.9, rgb=False,
source_img=None, maxcnt=0, ori=2, scale_range=None,
image=None, method="template", fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级高于自动截图 |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0] |
| method | str | 否 | 兼容参数,当前默认模板匹配 |
| fast | bool | 否 | 是否启用 Coarse-to-Fine 加速,默认True |
- 返回值
list[Point] Point数组
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find_all(R.img("2.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
for p in res:
print(p.x, p.y)
查找一个 模版匹配
FindImages.find_template(part_img, rect=None, confidence=0.9, rgb=False,
source_img=None, ori=2, scale_range=None,
image=None, fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级 高于自动截图 |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0] |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| fast | bool | 否 | 是否启用 Coarse-to-Fine 加速,默认True |
- 返回值
Point 可以通过 x, y 获取坐标,未找到返回 None
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find_template(R.img("1.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
print(res)
查找全部 模版匹配
FindImages.find_all_template(part_img, rect=None, confidence=0.9,
rgb=False, maxcnt=0, source_img=None,
ori=2, scale_range=None, image=None, fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级高于自动截图 |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0] |
| fast | bool | 否 | 是否启用 Coarse-to-Fine 加速,默认True |
- 返回值
list[Point] Point数组
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find_all_template(R.img("1.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
for p in res:
print(p.x, p.y)
查找一个 SIFT 兼容入口
SIFT 已移除,当前会自动降级为模板匹配。
FindImages.find_sift(part_img, rect=None, confidence=0.9, rgb=False,
source_img=None, ori=2, scale_range=None, fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级高于自动截图 |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0] |
| fast | bool | 否 | 是否启 用 Coarse-to-Fine 加速,默认True |
- 返回值
Point 可以通过 x, y 获取坐标
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find_sift(R.img("1.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
print(res)
查找全部 SIFT 兼容入口
SIFT 已移除,当前会自动降级为模板匹配。
FindImages.find_all_sift(part_img, rect=None, confidence=0.9, rgb=False,
source_img=None, maxcnt=0, ori=2,
scale_range=None, fast=True)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.9 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| source_img | PIL.Image/numpy.ndarray | 否 | 源图,优先级高于自动截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
| ori | int | 否 | 找图方向,默认2 |
| scale_range | list | 否 | 多尺度范围,如 [0.5, 2.0] |
| fast | bool | 否 | 是否启用 Coarse-to-Fine 加速,默认True |
- 返回值
list[Point] Point数组
- 示例
from ascript.ios.screen import FindImages
from ascript.ios.system import R
res = FindImages.find_all_sift(R.img("1.png"), rect=[657, 761, 1117, 1248], confidence=0.95)
for p in res:
print(p.x, p.y)