基于PaddleOCR用于小猿口算的口算PK Python代码
使用视觉OCR方案,采用百度PaddleOCR,Paddle系列
探索本项目的文档 »
·
报告Bug
·
提出新特性
- 本项目基于Python 3.12进行开发
- 本项目使用了PaddleOCR文本识别(OCR)引擎
- 在Python 下载对应Python版本
- Paddle系列包推荐在Paddle官网根据个人配置选择对应安装版本
- 安装所需的Python库(有两种安装命令,第一种是安装速度更快的清华大学镜像源,第二种是官方镜像源)👇无论哪个都行,反正选一个
- 手机投屏工具scrcpy
- ADB需保存到环境变量中
清华大学镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt- 手机启用ADB,开启USB模拟点击选项(USB安全调试)
- paddle_ocr_full.py为截取整个数字区域进行识别
- paddle_ocr_lite.py为分别截取比大小两个数字区域进行识别
- 可以先试运行代码测试所需的截图区域及swipe中的画图区域
- 模型加载时间较长,启动时需等待数秒,paddle.is_compiled_with_cuda()若为真则会启用GPU加速计算,帧率会有提升(不过最终效果似乎有限)
monitor = {"top": 395, "left": 2100, "width": 400, "height": 230}#为截图区域- OCR识别存在一定问题,当数字切换时有概率会导致上一轮仍然在画,但当前已经是下一轮了,然后代码会继续画当前的,导致出现大于号与小于号同时出现,目前组好解决方案是增加time.sleep()增加延时避免该问题,但是也会导致速率下降,目前测过的最快速度为0.7秒每道
- 代码运行后并不会自己判断是否启停,会一直识别,需要自行决定程序运行与否
贡献使开源社区成为一个学习、激励和创造的绝佳场所。你所作的任何贡献都是非常感谢的。
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request