推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
yzqdm
V2EX  ›  Python

小白请教一下简单的 pc 端脚本

  •  
  •   yzqdm · Mar 6, 2023 · 4863 views
    This topic created in 1338 days ago, the information mentioned may be changed or developed.

    我想实现一个简单的图像识别,然后操作键盘鼠标。举个例子,比如截图整个电脑桌面,然后判断里面有没有 qq 的图标,如果有,就执行后面的功能。我去网上看了一下,感觉 yolo5 太重太复杂了,python 这方面我只学过一点点基础语法。想请教一下各位大佬,有没有好的方案,或者现成的开源项目,感谢

    28 replies  •  2023-03-19 18:17:19 +08:00
    qjbcnrs
    qjbcnrs
    Mar 6, 2023
    1
    换个思路,读取文件夹不是更简单?
    vincentV2
    vincentV2
    Mar 6, 2023
    2
    感觉通过 opencv 模板匹配就行
    参考: https://docs.opencv.org/4.x/de/da9/tutorial_template_matching.html
    dreasky
    dreasky
    Mar 6, 2023
    3
    SikuliX AirTest
    raycool
    raycool
    Mar 6, 2023
    4
    嗯 模板匹配就行 难度不大。
    hlx
    hlx
    Mar 6, 2023
    5
    uibot 了解一下?
    dw2693734d
    dw2693734d
    Mar 6, 2023
    6
    OpenCV ( https://opencv.org/ ):OpenCV 是一个用于计算机视觉和机器人的开源库,它可以用 Python 和其他语言编写。它有很多函数和算法,支持各种图像处理、计算机视觉和机器学习任务,包括图像识别。

    PyAutoGUI ( https://pyautogui.readthedocs.io/en/latest/ ):PyAutoGUI 是一个用于控制键盘和鼠标的 Python 库,可以对显示器进行基于像素的控制。这可能对您的图像识别项目非常有用,因为您可以通过屏幕快照来检查图像中的特定区域。
    FYFX
    FYFX
    Mar 6, 2023❤️1
    7
    我觉得你不如先说你要干嘛,可能都不需要通过图像识别图标判断
    fbichijing
    fbichijing
    Mar 6, 2023
    8
    不知道你想干什么。有时候用按键精灵可以比较快实现。
    ClericPy
    ClericPy
    Mar 6, 2023
    9
    最近正好在写这方面的脚手架, 不过刚画了类图, 估计你赶不上用

    直接用 pyautogui 吧, 自己会优化里面 pyscreeze 缓存, 并且开启 Opencv 加速的话, 比 autohotkey 还快好几倍
    we9ta
    we9ta
    Mar 6, 2023
    10
    直接读取注册表 判断有没有安装这个软件
    yzqdm
    yzqdm
    OP
    Mar 6, 2023
    11
    @FYFX 其实就是我玩的一个游戏,有个任务是十分钟完成一次的,任务完成的时候会有个灯泡的图标亮,我想做的就是间隔一段时间识别一下我的游戏界面,看任务有没有完成,完成的话就点击提交,然后控制键盘鼠标帮我切换账号,就是这个事。额对了,我怎么新增一条置顶的评论,因为我说一开始的不太清楚,刚玩这个社区没多久,也感谢大家的帮助
    zictos
    zictos
    Mar 6, 2023 via Android
    12
    直接 opencv 加 pyautogui ,我用这个组合写过很复杂的游戏方面的脚本,你想实现的基本都能实现。
    nosilence
    nosilence
    Mar 6, 2023
    13
    下个按键精灵,纯图形界面,不用 5 分钟搞定
    BeautifulSoap
    BeautifulSoap
    Mar 6, 2023
    14
    @yzqdm 你这需求按键精灵最合适
    yzqdm
    yzqdm
    OP
    Mar 6, 2023
    15
    @zictos 好,我先用按键精灵试试,后面再研究一下 opencv ,多谢
    yzqdm
    yzqdm
    OP
    Mar 6, 2023
    16
    @BeautifulSoap 决定先试试按键精灵了,谢谢大佬
    y4nssss
    y4nssss
    Mar 7, 2023
    17
    import cv2
    import pyautogui

    screen = pyautogui.screenshot()
    img = cv2.cvtColor(np.array(screen), cv2.COLOR_RGB2BGR)

    template = cv2.imread("qq_icon.png", cv2.IMREAD_GRAYSCALE)
    result = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)

    if cv2.minMaxLoc(result)[1] > 0.8:
    # 执行键盘鼠标操作
    pyautogui.press("enter")
    customsshen
    customsshen
    Mar 7, 2023 via Android
    18
    airtest
    ShineyWang
    ShineyWang
    Mar 7, 2023
    19
    powerautomate 是按键精灵的上位替代
    andy2415
    andy2415
    Mar 7, 2023❤️1
    20
    ahk 完美符合需求

    https://wyagd001.github.io/zh-cn/docs/lib/ImageSearch.htm

    ```ahk
    CoordMode Pixel
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\Users\aa.png
    if (ErrorLevel = 2)
    MsgBox Could not conduct the search.
    else if (ErrorLevel = 1)
    MsgBox Icon could not be found on the screen.
    else
    MsgBox The icon was found at %FoundX% : %FoundY%.
    ```
    N9f8Pmek6m8iRWYe
    N9f8Pmek6m8iRWYe
    Mar 7, 2023
    21
    clicknuim
    Droi
    Droi
    Mar 7, 2023
    22
    你可以参考这个魔兽的钓鱼挂,和你想要的功能差不多
    https://github.com/codingories/mywowfishing

    https://juejin.cn/post/6844904077768278029 这找到的
    yzqdm
    yzqdm
    OP
    Mar 8, 2023
    23
    @Droi 感谢
    yzqdm
    yzqdm
    OP
    Mar 16, 2023
    24
    @zictos 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
    yzqdm
    yzqdm
    OP
    Mar 16, 2023
    25
    @y4nssss 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
    yzqdm
    yzqdm
    OP
    Mar 16, 2023
    26
    @dw2693734d 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
    zcjwxf
    zcjwxf
    Mar 18, 2023
    27
    没有很强的 windows 水平上来就封号的............别浪费时间了, 简单的识别+按键模拟是个人都能写出来
    yzqdm
    yzqdm
    OP
    Mar 19, 2023
    28
    @zcjwxf 我玩的私服,群主说了可以弄,而且我只是想弄个脚本节省无用的时间而已,这都不行吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5314 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 03:00 · PVG 11:00 · LAX 19:00 · JFK 22:00
    ♥ Do have faith in what you're doing.