Skip to main content

找图

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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0],默认单尺度
imagePIL.Image要识别的图片,默认全屏幕截图
methodstr兼容参数,当前默认模板匹配
fastbool是否启用 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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
imagePIL.Image要识别的图片,默认全屏幕截图
maxcntint最大返回数量,默认0(不限制)
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0]
methodstr兼容参数,当前默认模板匹配
fastbool是否启用 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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0]
imagePIL.Image要识别的图片,默认全屏幕截图
fastbool是否启用 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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
imagePIL.Image要识别的图片,默认全屏幕截图
maxcntint最大返回数量,默认0(不限制)
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0]
fastbool是否启用 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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0]
fastbool是否启用 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_imgstr小图片路径
rectlist圈定屏幕范围
confidencefloat可信度,默认0.9
rgbbool是否使用rgb匹配,默认False
source_imgPIL.Image/numpy.ndarray源图,优先级高于自动截图
maxcntint最大返回数量,默认0(不限制)
oriint找图方向,默认2
scale_rangelist多尺度范围,如 [0.5, 2.0]
fastbool是否启用 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)