Skip to main content

图色

from ascript.windows.screen

通过图形算法,对图像进行识别,检测.从而获取某些特征 如:

截图 , 屏幕尺寸 , 多点找色 , 多点比色 , OCR文字识别 , 找图 等...

方法

获取屏幕尺寸

screen.size(hwnd: int = None, rect=None) -> Image:

参数

参数类型是否必填说明
hwndint窗口句柄,如果给定句柄,则获取指定窗口的截图
rectint[]截图的范围数组

返回值

参数说明
Size尺寸对象 拥有 width,height属性

获取屏幕截图

def capture(hwnd: int = None,rect=None) -> Image:

参数

参数类型是否必填说明
hwndint窗口句柄,如果给定句柄,则获取指定窗口的截图
rectint[]截图的范围数组

返回值

参数说明
PIL.Image图片对象

多点找色

def find_colors(colors: str, rect=[], sim: float = 0.9, ore: int = 2, space: int = 5, file: str = None,res_num:int=1):

参数

参数类型是否必填说明
colorsint颜色点,通常用图色助手生成 格式如:90,80,#FFFFFF|87,60,#BBBBBB
rectint[]找色范围数组,默认全屏查找
simfloat相似度,默认0.9. 该值在0-1之间,0.9位90%的相似度
oreint找色方向,默认为2,...
spaceint找色间隔,如果找色结果距离在间隔之内,则只保留一个
filestr找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色
res_numstr找色结果数量.默认为1,只返回一个结果,当为0时,返回所有结果

返回值

参数说明
Point 或 Point[]如果参数res_num =1 返回Point,否则返回Point[]

找色方向

示例横幅

  1. 左上角到右下角,纵向开始找色,先找到 a 顶点。
  2. 左上角到右下角,横向开始找色,先找到 b 顶点。
  3. 右上角到左下角,横向开始找色,先找到 c 顶点。 依此类推

多点比色

def compare_colors( colors: str = None, sim: float = 0.9, img_file: str = None):

参数

参数类型是否必填说明
colorsint颜色点,通常用图色助手生成 格式如:90,80,#FFFFFF|87,60,#BBBBBB
rectint[]找色范围数组,默认全屏查找
simfloat相似度,默认0.9. 该值在0-1之间,0.9位90%的相似度
img_filestr找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色
res_numstr结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果

返回值

参数说明
boolTrue:比对成功,False:比对失败

文字识别

def cor(rect=[], pattern: str = None, confidence: float = 0.1, img_file: str = None,res_num:int =0):

该文字识别,使用 paddleOcr 引擎

参数

参数类型是否必填说明
rectint[]找色范围数组,默认全屏查找
patternstr 正则要匹配的文字,正则表达式
confidencefloat置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果
img_filestr找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色
res_numstr结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果

返回值

参数说明
OcrRes 或 OcrRes[]如果参数res_num =1 返回OcrRes,否则返回OcrRes[]

找图 (先模版后sift)

def find_images(img_part: str, rect=None, source_file: str = None, confidence: float = 0.1,res_num:int=1):

该文字识别,使用 paddleOcr 引擎

参数

参数类型是否必填说明
img_partstr局部图片的名称或地址
rectint[]找图的范围
source_filestr被查找图片的文件地址. 默认为当前屏幕
confidencestr置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果
res_numstr结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果

返回值

参数说明
dict 或 dict[]如果参数res_num =1 返回dict,否则返回dict[]

找图_非全分辨率(速度快)

def find_images_template(img_part: str = None, source_rect=None, source_file: str = None, confidence: float = 0.1,res_num:int=1, threshold=0.5, rgb=False, bgremove=False):

该文字识别,使用 paddleOcr 引擎

参数

参数类型是否必填说明
img_partstr局部图片的名称或地址
rectint[]找图的范围
source_filestr被查找图片的文件地址. 默认为当前屏幕
confidencestr置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果
res_numstr结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果
thresholdfloat阀值默认 0.5
rgbboolrgb,默认为Flase
bgremovebool是否去除背景.默认Flase

返回值

参数说明
dict 或 dict[]如果参数res_num =1 返回dict,否则返回dict[]

找图_全分辨率(速度慢)

def find_images_sift(img_part: str = None, rect=None, source_file: str = None, confidence: float = 0.1,res_num:int=1, min_match_count: int = 4):

该文字识别,使用 paddleOcr 引擎

参数

参数类型是否必填说明
img_partstr局部图片的名称或地址
rectint[]找图的范围
source_filestr被查找图片的文件地址. 默认为当前屏幕
confidencestr置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果
res_numstr结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果
min_match_countint最小特征点数量. 默认4

返回值

参数说明
dict 或 dict[]如果参数res_num =1 返回dict,否则返回dict[]

对象

尺寸

from ascript.windows.screen.Size

构造

class Size:
def __init__(self, width, height):
参数类型是否必填说明
widthint宽度
heightint高度

属性

宽度
self.width
高度
self.height