检测
- yolov5 该部分已集成至插件当中
from ascript.android import plug
plug.load("yolov5:1.3")
import yolov5
一种目标检测深度学习算法 ,通过对 图片中目标的标注
,训练
.得到模型
,下载运行模型从而检测目标
应用场景
对于不同手机,不同分辨率情况下的目标检测. 能达到很好的效果.
例如 “微信跳一跳”
初始化模型
- 函数
yolov5.load(model:str)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
model | bool | 否 | 线上模型库中的模型名称,格式: ("模型名称:模型版本号") 填写后,将自动下载线上模型,如缓存中存在,则从本地加载. 也可以写入模型文件夹路径 |
- 返回值 bool
True = 初始化成功, False = 初始化失败
- 示例
from ascript.android import plug
plug.load("yolov5:1.3")
import yolov5
res = yolov5.load("微信跳一跳:1.5")
print(res)
检测所有目标
- 函数
yolov5.find_all(bitmap=None,use_gpu:bool=False,size:int=640)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
bitmap | Bitmap | 否 | 要识别的图片,如果要范围识别可以使用screen.capture(0,0,100,100) 来圈定范围 |
use_gpu | bool | 否 | 是否使用gpu加速,默认False |
size | int | 否 | 图片的识别最大边长,默认640px,建议不要更改 |
- 返回值
识别目标的结果对象列表,包含的属性有:
[
{
'label': "方块" # 目标名称
'x': 10, # 目标坐标x
'y': 10, # 目标坐标y
'w': 100, # 目标宽度
'h': 100, # 目标高度
'prob': 0.98 # 目标识别置信度
},
{
.....
}
]
- 示例
# 全屏识别案例
# 加载插件
from ascript.android import plug
plug.load("yolov5")
import yolov5
# 加载模型
yolov5.load("微信跳一跳:1.3")
while True:
# 全屏识别
res = res = yolov5.find_all()
for r in res:
print(r['label']) # 目标名称
print(r['prob']) # 可信度
print(r['x']) # 坐标x
print(r['y']) # 坐标y
print(r['w']) # 目标宽度
print(r['h']) # 目标高度
- 示例
# 区域识别案例
# 加载插件
from ascript.android import plug
plug.load("yolov5")
import yolov5
from ascript.android import screen
# 加载模型
yolov5.load("微信跳一跳:1.3")
while True:
# 全屏识别
res = res = yolov5.find_all(screen.capture(15,7,1065,1721))
for r in res:
print(r['label']) # 目标名称
print(r['prob']) # 可信度
print(r['x']) # 坐标x
print(r['y']) # 坐标y
print(r['w']) # 目标宽度
print(r['h']) # 目标高度