Skip to main content

找图

from ascript.ios.screen import FindImages

从屏幕中找到 局部图片 的 位置 . 支持全分辨率

方法

查找一个 混合算法

先用模版匹配查找,找不到用sift算法查找

FindImages.find(part_img, rect=None, confidence=0.1, rgb=False, image=None)
  • 参数
参数类型是否必填说明
part_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.1
rgbbool是否使用rgb匹配,默认False
imagePIL.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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.1
rgbbool是否使用rgb匹配,默认False
imagePIL.Image要识别的图片,默认全屏幕截图
maxcntint最大返回数量,默认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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.5
rgbbool是否使用rgb匹配,默认False
imagePIL.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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.5
rgbbool是否使用rgb匹配,默认False
imagePIL.Image要识别的图片,默认全屏幕截图
maxcntint最大返回数量,默认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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.1
rgbbool是否使用rgb匹配,默认False
imagePIL.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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.1
rgbbool是否使用rgb匹配,默认False
imagePIL.Image要识别的图片,默认全屏幕截图
maxcntint最大返回数量,默认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)