找图
from ascript.ios.screen import FindImages
从屏幕中找到 局部图片 的 位置 . 支持全分辨率
方法
查找一个 混合算法
先用模版匹配查找,找不到用sift算法查找
FindImages.find(part_img, rect=None, confidence=0.1, rgb=False, image=None)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.1 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
- 返回值
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.1, rgb=False, image=None, maxcnt=0)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.1 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
- 返回值
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.5, rgb=False, image=None)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.5 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
- 返回值
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.5, rgb=False, image=None, maxcnt=0)
- 参数
| 参数 | 类型 | 是否 必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.5 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
- 返回值
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)
查找一个 全分辨率
全分辨率查找,需要子图片有足够的特征. 也就说图形越复杂,识别率越高
FindImages.find_sift(part_img, rect=None, confidence=0.1, rgb=False, image=None)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.1 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
- 返回值
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)
查找全部 全分辨率
全分辨率查找,需要子图片有足够的特征. 也就说图形越复杂,识别率越高
FindImages.find_all_sift(part_img, rect=None, confidence=0.1, rgb=False, image=None, maxcnt=0)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| part_img | str | 是 | 小图片路径 |
| rect | list | 否 | 圈定屏幕范围 |
| confidence | float | 否 | 可信度,默认0.1 |
| rgb | bool | 否 | 是否使用rgb匹配,默认False |
| image | PIL.Image | 否 | 要识别的图片,默认全屏幕截图 |
| maxcnt | int | 否 | 最大返回数量,默认0(不限制) |
- 返回值
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)