我想实现一个简单的图像识别,然后操作键盘鼠标。举个例子,比如截图整个电脑桌面,然后判断里面有没有 qq 的图标,如果有,就执行后面的功能。我去网上看了一下,感觉 yolo5 太重太复杂了,python 这方面我只学过一点点基础语法。想请教一下各位大佬,有没有好的方案,或者现成的开源项目,感谢
1
zhongjun96 2023-03-06 18:52:52 +08:00
换个思路,读取文件夹不是更简单?
|
2
vincentV2 2023-03-06 18:55:42 +08:00
感觉通过 opencv 模板匹配就行
参考: https://docs.opencv.org/4.x/de/da9/tutorial_template_matching.html |
3
dreasky 2023-03-06 18:58:45 +08:00
SikuliX AirTest
|
4
raycool 2023-03-06 18:59:10 +08:00
嗯 模板匹配就行 难度不大。
|
5
hlx 2023-03-06 18:59:42 +08:00
uibot 了解一下?
|
6
dw2693734d 2023-03-06 19:00:33 +08:00
OpenCV ( https://opencv.org/ ):OpenCV 是一个用于计算机视觉和机器人的开源库,它可以用 Python 和其他语言编写。它有很多函数和算法,支持各种图像处理、计算机视觉和机器学习任务,包括图像识别。
PyAutoGUI ( https://pyautogui.readthedocs.io/en/latest/ ):PyAutoGUI 是一个用于控制键盘和鼠标的 Python 库,可以对显示器进行基于像素的控制。这可能对您的图像识别项目非常有用,因为您可以通过屏幕快照来检查图像中的特定区域。 |
7
FYFX 2023-03-06 19:05:31 +08:00 1
我觉得你不如先说你要干嘛,可能都不需要通过图像识别图标判断
|
8
fbichijing 2023-03-06 19:10:10 +08:00
不知道你想干什么。有时候用按键精灵可以比较快实现。
|
9
ClericPy 2023-03-06 21:44:30 +08:00
最近正好在写这方面的脚手架, 不过刚画了类图, 估计你赶不上用
直接用 pyautogui 吧, 自己会优化里面 pyscreeze 缓存, 并且开启 Opencv 加速的话, 比 autohotkey 还快好几倍 |
10
we9ta 2023-03-06 21:50:57 +08:00
直接读取注册表 判断有没有安装这个软件
|
11
yzqdm OP @FYFX 其实就是我玩的一个游戏,有个任务是十分钟完成一次的,任务完成的时候会有个灯泡的图标亮,我想做的就是间隔一段时间识别一下我的游戏界面,看任务有没有完成,完成的话就点击提交,然后控制键盘鼠标帮我切换账号,就是这个事。额对了,我怎么新增一条置顶的评论,因为我说一开始的不太清楚,刚玩这个社区没多久,也感谢大家的帮助
|
12
zictos 2023-03-06 22:19:30 +08:00 via Android
直接 opencv 加 pyautogui ,我用这个组合写过很复杂的游戏方面的脚本,你想实现的基本都能实现。
|
13
nosilence 2023-03-06 22:48:20 +08:00
下个按键精灵,纯图形界面,不用 5 分钟搞定
|
14
BeautifulSoap 2023-03-06 23:10:30 +08:00
@yzqdm 你这需求按键精灵最合适
|
16
yzqdm OP @BeautifulSoap 决定先试试按键精灵了,谢谢大佬
|
17
y4nssss 2023-03-07 01:18:59 +08:00
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") |
18
customsshen 2023-03-07 08:26:38 +08:00 via Android
airtest
|
19
ShineyWang 2023-03-07 09:18:32 +08:00
powerautomate 是按键精灵的上位替代
|
20
andy2415 2023-03-07 11:32:32 +08:00 1
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%. ``` |
21
N9f8Pmek6m8iRWYe 2023-03-07 13:57:25 +08:00
clicknuim
|
22
Droi 2023-03-07 18:36:47 +08:00
你可以参考这个魔兽的钓鱼挂,和你想要的功能差不多
https://github.com/codingories/mywowfishing https://juejin.cn/post/6844904077768278029 这找到的 |
24
yzqdm OP @zictos 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
|
25
yzqdm OP @y4nssss 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
|
26
yzqdm OP @dw2693734d 大佬,我想请教一下,我用 pyautogui ,鼠标移动到游戏界面里,就失效了。我去网上查了一下,好像是要驱动级的键鼠模拟才可以,想问下有没有什么其他的方案
|
27
zcjwxf 2023-03-18 01:03:22 +08:00
没有很强的 windows 水平上来就封号的............别浪费时间了, 简单的识别+按键模拟是个人都能写出来
|