介绍
PaddleOCR(https://github.com/PaddlePaddle/PaddleOCR) 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。
本教程将介绍PaddleOCR的基本使用方法以及如何使用它开发一个自动搜题的小工具。
项目地址:
https://gitee.com/puzhiweizuishuai/OCR-CopyText-And-Search
OR
https://github.com/PuZhiweizuishuai/OCR-CopyText-And-Search
安装
虽然PaddleOCR支持服务端部署并提供识别API,但根据我们的需求,搭建一个本地离线的OCR识别环境,所以此次我们只介绍如何在本地安装并使用的做法。
安装PaddlePaddle飞桨框架
一、环境准备
1.1 目前飞桨支持的环境
Windows 7/8/10 专业版/企业版 (64bit)
GPU版本支持CUDA 10.1/10.2/11.0/11.2,且仅支持单卡
Python 版本 3.6+/3.7+/3.8+/3.9+ (64 bit)
pip 版本 20.2.2或更高版本 (64 bit)
二、安装命令
pip
install
paddlepaddle -i https://mirror.baidu.com/pypi/simple
(注意此版本为CPU版本,如需GPU版本请查看PaddlePaddle文档 https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/windows-pip.html)
安装完成后您可以使用
python
进入python解释器,输入
import paddle
,再输入
paddle.utils.run_check()
如果出现
PaddlePaddle is installed successfully!
,说明您已成功安装。
安装PaddleOCR
pip
install
"paddleocr>=2.0.1"
# 推荐使用2.0.1+版本
代码使用
安装完成后你可以使用以下代码来进行简单的功能测试
结果是一个list,每个item包含了文本框,文字和识别置信度
可视化效果
识别结果
至此我们就掌握了 PaddleOCR 的基本使用,基于这个我们就能开发出一个OCR的搜题小工具了。
更多使用方法请参考:https://aistudio.baidu.com/aistudio/projectdetail/507159
搜题小工具
搜题小工具
现在有很多那种答题竞赛的小游戏,在限定时间内看谁答题正确率更高。或者现在一些单位会搞一些大练兵什么的竞赛,需要在网上答题,这个时候手动输入题目去搜索就很慢,效率也不会太高,所以我们就可以来写一个脚本,帮助我们完成搜题的过程。
基本思路就是通过ADB截取当前屏幕,然后剪切出题目所在位置,然后通过PaddleOCR来获取题目文字,之后打开搜索引擎搜索或者打开题库搜索。
安装ADB
安装ADB
你可以到这里下载安装ADB之后配置环境变量。
配置完环境变量后在终端输入adb,如果出现以下字符则证明adb安装完成。
截图并保存题目区域图片
截图并保存题目区域图片
OCR识别,获取题目
OCR识别,获取题目
打开浏览器搜索
打开浏览器搜索
之后你就可以查看搜索结果了
如果有题库,你还可以使用
pyautogui
来模拟鼠标键盘操作,去操作Word等软件在题库中进行搜索。
完整代码
完整代码