(阴阳师)如何用adb获取安卓设备的初始

05/05 19:23:30 来源网站:seo优化-辅助卡盟平台

输入文字

text = "YourPassword"
os.system(f"adb shell input text {text}")
复制代码

删除字符

有时候输入框会有输入缓存,我们需要删除字符。

# 删除10个字符
for i in range(10):
    os.system("adb shell input keyevent 67")
复制代码

查询当前运行的包名和Activity

通过下面的代码可以查询当前运行程序的Activity,也可以顺便查看包名。

adb shell dumpsys activity activities
复制代码

停止应用程序

有时需要停止一个应用程序,需要提供应用程序的包名。

adb shell am force-stop tw.sonet.princessconnect
复制代码

打开应用程序

要打开应用程序,您需要提供包名称和 Activity。

adb shell am start -W -n tw.sonet.princessconnect/jp.co.cygames.activity.OverrideUnityActivity
复制代码

图像处理

处理图像的第一件事是搜索图像。 比如Airtest提供的,无非就是判断截图里有没有图片,有的话在什么地方。

此外,还需要一些切口。 比如我们要获取账号id和账号级别,就需要截取一部分图片,然后进行OCR操作。

图片搜索

图片搜索好像是先获取两张图片,然后调用cv2.matchTemplate方法判断是否存在以及位置。 这里的匹配是比较模糊的匹配,会有相似的概率,最高为1。我们设置一个阈值来判断模板是否在截图中。

截图如下,文件名为tmp.png:

定时执行bat脚本_bat执行python脚本_html5怎么执行bat脚本

模板如下:

代码如下:

import cv2
def image_to_position(screen, template):
    image_x, image_y = template.shape[:2]
    result = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
    print("prob:", max_val)
    if max_val > 0.98:
        global center
        center = (max_loc[0] + image_y / 2, max_loc[1] + image_x / 2)
        return center
    else:
        return False
if __name__ == "__main__":
    screen = cv2.imread('tmp.png')
    template =  cv2.imread('Xuandan.png')
    print(image_to_position(screen, template))
复制代码

运行上面的代码后,可以看到模板匹配的概率为0.9977,位置为(1165,693)。 对于一张图片,左上角是原点。 由于我的帧率是1280*720,所以右下角的坐标是(1280,720)。 你可以看到我们的菜单似乎就在右下角。

如何快速裁剪模板? (win10)

游戏脚本虽然不难写,但是需要切很多图,而且这个图的码率必须和原图一样。我发现如果在win10中打开图片为图片

相关教程

更多>
    暂无相关资讯
(阴阳师)如何用adb获取安卓设备的初始