python 图像识别仪表盘_利用python中的图像识别实现高性能UI自动化

因此,在我寻求自动化一些基于图像识别的软件时,我开始利用opencv的模板匹配和pyautogui库学习一些python。我知道像autohotkey或autoit这样的工具可能更容易完成工作,但我想用python,因为我对机器学习也很感兴趣。在

在python之前,我已经研究过Sikuli、Autohotkey和Autoit,但认为它们太麻烦了,过了一段时间就无法使用了。我见过用那些框架构建的软件,它们实现了我想要实现的目标。在

我想做的是:将一组图像与当前屏幕匹配,并在找到它们时单击它们。该过程是无状态的,因此每次都应该匹配所有模板。在

要求:使用任何应用程序(不仅是windows wpf等)

多监视器功能(pyautoui在这方面有问题)。这使得屏幕截图也非常大(例如3840x1080,带有2个监视器)

几乎可以立即找到并定位UI元素(0.5秒)

可选:非阻塞鼠标/光标交互

我在python中的第一个实现是有效的,但是对于每个图像,大约需要1秒的时间。所以当我循环浏览它们(20张图片)时,花了大约20秒。我通过使用joblib库来使用多线程来减少这个问题。这将时间缩短了75%(取决于可用的内核),这仍然太慢。而且,它似乎仍然不是一个可伸缩的方法。在

所以我的问题是:对此,最好的可扩展方法是什么?在

这不是类似于自动驾驶用例吗?它的软件是如何处理的?在

我选择的工具(python、pyautogui、opencv)是否适合于此?在

一位同事给了我一个想法,把一个CNN(卷积神经网络)作为顶层,只有当分类器找到任何模板时才运行循环。这真的解决了这个问题吗?它仍然需要在某个时刻遍历所有图像。在

我希望我把我的问题说清楚了。如果有必要,我也可以提供代码示例。在

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值