图色
from ascript.windows.screen
通过图形算法,对图像进行识别,检测.从而获取某些特征 如:
截图
, 屏幕尺寸
, 多点找色
, 多点比色
, OCR文字识别
, 找图
等...
方法
获取屏幕尺寸
screen.size(hwnd: int = None, rect=None) -> Image:
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
hwnd | int | 否 | 窗口句柄,如果给定句柄,则获取指定窗口的截图 |
rect | int[] | 否 | 截图的范围数组 |
返回值
参数 | 说明 |
---|---|
Size | 尺寸对象 拥有 width,height属性 |
获取屏幕截图
def capture(hwnd: int = None,rect=None) -> Image:
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
hwnd | int | 否 | 窗口句柄,如果给定句柄,则获取指定窗口的截图 |
rect | int[] | 否 | 截图 的范围数组 |
返回值
参数 | 说明 |
---|---|
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):
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
colors | int | 是 | 颜色点,通常用图色助手生成 格式如:90,80,#FFFFFF|87,60,#BBBBBB |
rect | int[] | 否 | 找色范围数组,默认全屏查找 |
sim | float | 否 | 相似度,默认0.9. 该值在0-1之间,0.9位90%的相似度 |
ore | int | 否 | 找色方向,默认为2,... |
space | int | 否 | 找色间隔,如果找色结果距离在间隔之内,则只保留一个 |
file | str | 否 | 找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色 |
res_num | str | 否 | 找色结果数量.默认为1,只返回一个结果,当为0时,返回所有结果 |
返回值
参数 | 说明 |
---|---|
Point 或 Point[] | 如果参数res_num =1 返回Point ,否则返回Point[] |
找色方向
- 左上角到右下角,纵向开始找色,先找到 a 顶点。
- 左上角到右下角,横向开始找色,先找到 b 顶点。
- 右上角到左下角,横向开始找色,先找到 c 顶点。 依此类推
多点比色
def compare_colors( colors: str = None, sim: float = 0.9, img_file: str = None):
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
colors | int | 否 | 颜色点,通常用图色助手生成 格式如:90,80,#FFFFFF|87,60,#BBBBBB |
rect | int[] | 否 | 找色范围数组,默认全屏查找 |
sim | float | 否 | 相似度,默认0.9. 该值在0-1之间,0.9位90%的相似度 |
img_file | str | 否 | 找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色 |
res_num | str | 否 | 结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果 |
返回值
参数 | 说明 |
---|---|
bool | True:比对成功,False:比对失败 |
文字识别
def cor(rect=[], pattern: str = None, confidence: float = 0.1, img_file: str = None,res_num:int =0):
该文字识别,使用 paddleOcr 引擎
参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
rect | int[] | 否 | 找色范围数组,默认全屏查找 |
pattern | str 正则 | 否 | 要匹配的文字,正则表达式 |
confidence | float | 否 | 置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果 |
img_file | str | 否 | 找色图片地址. 默认从当前屏幕截图执行找色,如果传入地址则从图片文件中找色 |
res_num | str | 否 | 结果数量,默认为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_part | str | 是 | 局部图片的名称或地址 |
rect | int[] | 否 | 找图的范围 |
source_file | str | 否 | 被查找图片的文件地址. 默认为当前屏幕 |
confidence | str | 否 | 置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果 |
res_num | str | 否 | 结果数量,默认为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_part | str | 是 | 局部图片的名称或地址 |
rect | int[] | 否 | 找图的范围 |
source_file | str | 否 | 被查找图片的文件地址. 默认为当前屏幕 |
confidence | str | 否 | 置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果 |
res_num | str | 否 | 结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果 |
threshold | float | 否 | 阀值默认 0.5 |
rgb | bool | 否 | rgb,默认为Flase |
bgremove | bool | 否 | 是否去除背景.默认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_part | str | 是 | 局部图片的名称或地址 |
rect | int[] | 否 | 找图的范围 |
source_file | str | 否 | 被查找图片的文件地址. 默认为当前屏幕 |
confidence | str | 否 | 置信度.默认0.1. 0-1之间, 过滤掉比此值小的结果 |
res_num | str | 否 | 结果数量,默认为1. 当为0时,返回所有结果,其他值返回与值匹配的结果 |
min_match_count | int | 否 | 最小特征点数量. 默认4 |
返回值
参数 | 说明 |
---|---|
dict 或 dict[] | 如果参数res_num =1 返回dict ,否则返回dict[] |
对象
尺寸
from ascript.windows.screen.Size
构造
class Size:
def __init__(self, width, height):
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
width | int | 是 | 宽度 |
height | int | 是 | 高度 |
属性
宽度
self.width
高度
self.height