有人知道如何制作一个图像识别的脚本吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huihushijie1996
V2EX    问与答

有人知道如何制作一个图像识别的脚本吗?

  •  
  •   huihushijie1996 2024 年 7 月 26 日 2907 次点击
    这是一个创建于 557 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在的图像识别特别厉害,那么如何通过图像识别来制作一个自动玩游戏的脚本呀? 不知道能不能做,能做的话有啥技术体系

    23 条回复    2024-07-31 08:51:11 +08:00
    huihushijie1996
        1
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    有没有懂的大佬说说呀
    qhd1988
        2
    qhd1988  
       2024 年 7 月 26 日
    之前图像识别不厉害的时候也有很多方式去做脚本啊
    可以去了解下"按键精灵",有些游戏搬砖工作室甚至用这个软件做脚本用来搬砖
    xiadengmaX1
        3
    xiadengmaX1  
       2024 年 7 月 26 日
    huihushijie1996
        4
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @qhd1988 这个我知道 我都用过来做那种连点的游戏 嘿嘿
    huihushijie1996
        5
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @xiadengmaX1 谢谢我看看
    PositionZero
        6
    PositionZero  
       2024 年 7 月 26 日   3
    见过最成熟的基于图像识别的游戏助手是 MaaAssistantArknights https://github.com/MaaAssistantArknights/MaaAssistantArknights

    有对应的开发框架 MaaFramework
    https://github.com/MaaXYZ/MaaFramework
    huihushijie1996
        7
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @PositionZero 好的 我看看
    lianxiaoyi
        8
    lianxiaoyi  
       2024 年 7 月 26 日
    我很早就想做这种东西,但是不知道从哪下手,有没有大神了解从哪入手?
    huihushijie1996
        9
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @lianxiaoyi 我也是。
    lianxiaoyi
        10
    lianxiaoyi  
       2024 年 7 月 26 日
    @huihushijie1996 首先是主线任务,应该是要识别闪光区域,闪光区域一般都是新手引导啊。第二步做主线。这种估计很复杂。最多我觉得应该是做做钓鱼啊,或者过副本,过日常任务这种应该比较简单。
    ouTL034NxOke37E9
        11
    ouTL034NxOke37E9  
       2024 年 7 月 26 日
    autojs 可以实现
    qhd1988
        12
    qhd1988  
       2024 年 7 月 26 日
    @huihushijie1996 #4 那现在你也可以继续用"按键精灵"来实现你说的"自动玩游戏"的功能啊,
    和"现在图像识别厉害不厉害"没啥关系吧?
    huihushijie1996
        13
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @wwzz 有 github 吗
    huihushijie1996
        14
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @lianxiaoyi #10 我也感觉好复杂
    Jinnrry
        15
    Jinnrry  
       2024 年 7 月 26 日 via Android
    https://github.com/Jinnrry/RobotHelper

    会安卓开发的话可以看我这个,图像识别引入了 opencv 处理,框架里面封装了找点找图,也封装了触摸,文本输入等功能。

    由于是原生安卓开发,更高级的图像识别,可以直接引入 tensorflow pytroch 等机器学习模型

    同时,框架目前支持 xposed 提权,对于反编译改内存型的脚本开发,也能轻松支持。
    huihushijie1996
        16
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @Jinnrry 好 我看看
    lukesy
        17
    lukesy  
       2024 年 7 月 26 日
    huihushijie1996
        18
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @lukesy 这种感觉和图像识别差不多的思路
    hello321
        19
    hello321  
       2024 年 7 月 26 日
    op 让我想起十几年前,玩劲舞团,有个外挂,识别图形自动按键的,很吊...
    huihushijie1996
        20
    huihushijie1996  
    OP
       2024 年 7 月 26 日
    @0x49 这种很适合做图形识别
    ouTL034NxOke37E9
        21
    ouTL034NxOke37E9  
       2024 年 7 月 30 日
    huiyadanli
        22
    huiyadanli  
       2024 年 7 月 31 日   1
    简单说下 PC 环境下的游戏脚本编写相关的技术。无论你用的什么语言还是类库,最终基本绕不开以下技术。


    1. 截图
    a. BitBlt 最常用,也是最简单的,但是部分游戏可能无法捕获
    b. dxgi 方式有很多,win 下也提供了一些包装,但是集成有一定难度

    2. 计算机视觉算法
    a. OpenCV 中的各类算法使用,这是最简单也是最重要的。简单的脚本可能一个模板匹配就能玩出很多花样了
    b. YOLO 等各类 AI 算法
    c. OCR 的库,一般都会用 ppocr (其实这也算 AI )

    3. 模拟操作,主流的都是 win32api (当然如果有和游戏公司对抗的环节可以上硬件模拟,一般不会到这个程度)
    a. PostMessage (可以后台,但是部分游戏不支持)
    b. SendInput (用于取代 mouse_event + keybd_event ,这两个 api 已经过时了)
    huihushijie1996
        23
    huihushijie1996  
    OP
       2024 年 7 月 31 日
    @huiyadanli 确实感觉好难
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3914 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 01:11 PVG 09:11 LAX 17:11 JFK 20:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86