目录
一、EasyOCR是什么?
OCR是光学字符识别(Optical Character Recognition)的英文缩写,是一种将图像中的文字内容转换为可编辑、可搜索的文本的技术。
早期的Tesseract OCR(尤其是 v3 版本及以前)使用的是基于传统机器学习的图像特征,比如字符形状分析、投影法等,它并没有采用深度学习模型。从Tesseract4开始,Tesseract引入了LSTM(长短期记忆,一种基于深度学习的模型)神经网络,这使得它的字符识别能力大幅提升,接近现代深度学习方法的水平。
EasyOCR是一个基于深度学习框架PyTorch而实现的OCR库,支持 80 多种语言的文本识别,包括拉丁文字、汉字、阿拉伯文等。使用了PyTorch深度学习框架,基于CNN + RNN(LSTM)结构,结合了文本检测和识别任务(因此运行它需要有检测模型和识别模型)。
二、EasyOCR的优缺点
1、支持多语言
2、可以处理旋转的文本、复杂背景下的文字、手写体等
3、提供了非常简单的 API,非常适合快速集成,准确率高,能够处理复杂场景中的文字识别
三、EasyOCR的依赖有哪些?
由于EasyOCR使用的学习框架是PyTorch框架,所以它的核心代码库完全用Python语言编写,因此也需要依赖Python环境来运行。
其它底层依赖还有以下这个:
1、PyTorch:用于加载预训练的深度学习模型(如 CRAFT 检测模型、CRNN 识别模型)。
2、OpenCV (cv2):用于图像预处理(如缩放、灰度化、透视变换等)。
3、NumPy:处理图像数组和数值计算。
4、Pillow:图像读取与格式转换。
四、在Windows环境下安装EasyOCR
安装前准备
1、安装 Python
Windows版官网地址:https://www.python.org/downloads/windows/
最好选择installer的安装包,不要选择embeddable包,这个嵌入运行包虽然小,但是无法创建python的虚拟环境,大部分功能也缺失,不适合做测试或新手使用。同时注意不要选择太新的版本,因为后面通过pip安装torch时可能会出现找不到的情况,新版本可能还没有适配torch。
我一开始安装的最新版3.14.0,使用pip安装torch时出现以下错误,后来重新安装了3.13.8的python就正常了。
>pip install torch
ERROR: Could not find a version that satisfies the requirement torch (from versions: none)
ERROR: No matching distribution found for torch
2、检查 Python 安装是否成功
在windows的命令行窗口中输入如下命令:
>python --version
//输出类似 Python 3.10.12 就表示安装成功。
3、安装 pip(Python 包管理器)
python3.4之后的版本一般有自带,可通过如下命令检查,若没有安装,需参考python官方文档安装。
>pip --version
4、创建虚拟环境(可选,但推荐)
// 创建python虚拟环境(独立文件夹、独立lib,不影响全局)
>python -m venv easyocr_env
// 激活虚拟环境
>easyocr_env\Scripts\activate
安装EasyOCR
1、安装 PyTorch
可在PyTorch官方地址:https://pytorch.org/get-started/locally/#supported-windows-distributions中选择配置,复制命令行到本地的cmd窗口中运行安装。
// 使用GPU的(需要电脑有GPU)
>pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126
// 使用CPU的
>pip3 install torch torchvision
// 加上国内镜像地址,下载比较快
>pip3 install torch torchvision -i https://mirrors.aliyun.com/pypi/simple/
2、安装 EasyOCR
// 安装官方easyocr,下载慢,可能会失败
>pip install easyocr
// 使用国内镜像,下载快
>pip install easyocr -i https://mirrors.aliyun.com/pypi/simple/
注:pip和pip3是一个新旧版本共存兼容的问题,如果电脑本地只有一个版本的python,就是通用的。
3、安装额外依赖(可选,增强功能)
>pip install opencv-python matplotlib
4、验证EasyOCR的安装
>python -c "import easyocr; print(easyocr.__version__)"
// 输出类似1.7.2,表示安装成功
五、测试 EasyOCR
1、准备测试图片
一张包含文字的图片,可以是截屏保存的图片,也可以是网上下载的。
2、创建测试 Python 文件
新建 test_easyocr.py,内容如下:
import easyocr
# 初始化 Reader,支持中文和英文
reader = easyocr.Reader(['ch_sim','en'])
# 读取图片
result = reader.readtext('test_image.jpg')
# 输出识别结果,bbox是检测到的各行块文本的矩形坐标
for (bbox, text, prob) in result:
print(f"识别内容: {text}, 置信度: {prob:.2f}")
3、运行测试
在新的cmd命令行窗口中,进入测试图片和.py文件所在目录,执行:
>python test_easyocr.py
注意:如果上面有创建了python的虚拟环境(独立文件夹),且pip安装easyocr也是在这个虚拟环境中,需要在进入.py文件所在目录后,激活这个虚拟环境:
// 激活python虚拟环境,路径有空格的需要引号
C:\Users\xx\Desktop\新建文件夹>"D:\Program Files\Python313\easyocr_env\Scripts\activate"
// 在easyocr_env虚拟环境中执行测试
(easyocr_env) C:\Users\xx\Desktop\新建文件夹>python test_easyocr.py
Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU.
D:\Program Files\Python313\easyocr_env\Lib\site-packages\torch\utils\data\dataloader.py:666: UserWarning: 'pin_memory' argument is set as true but no accelerator is found, then device pinned memory won't be used.
warnings.warn(warn_msg)
识别内容: 《真想娈成大大的荷叶》, 置信度: 0.86
识别内容: 答123456, 置信度: 0.55
识别内容: 夏天耒引, 置信度: 0.09
识别内容: 夏天是位小姐姐。, 置信度: 0.91
识别内容: 她热情地问我: 想变点儿什么?, 置信度: 0.72
识别内容: 我想变透明的雨滴, 置信度: 0.73
识别内容: 睡在一片绿叶上, 置信度: 0.81
识别内容: 我想变一条小鱼, 置信度: 0.84
识别内容: 游入清凌的小河, 置信度: 0.94
识别内容: 我想变一只蝴蝶, 置信度: 0.72
识别内容: 在花丛中穿梭, 置信度: 0.93
识别内容: 我想变一只蝈蝈, 置信度: 0.77
识别内容: 歌唱我们的生活, 置信度: 0.96
可以看出来,有些文字的置信度不高,确实是识别错误的,可能是因为下载的识别模型zh_sim_g2不够完善。
六、注意事项
1、首次运行测试文件,其中的easyocr.Reader(),会再下载easyocr需要的检测模型和识别模型(和设置的语言种类有关),正常情况,国内网络下载会很慢,甚至失败。可以选择手动下载.pth文件(craft_mlt_25k.pth、english_g2.pth、zh_sim_g2.pth)放到指定目录下(C:\Users\xx\.EasyOCR\model),再运行测试命令。
.pth文件下载地址:https://www.jaided.ai/easyocr/modelhub/,这边下载CRAFT,english_g2,zh_sim_g2。浏览器如果下载不了,可以复制地址栏上的地址(.zip文件),使用迅雷下载。
2、如果遇到错误:ModuleNotFoundError: No module named 'easyocr',可能是easyocr的安装位置和python可执行文件的位置不一致导致的,可通过如下命令确定:
# 查看当前 Python 解释器路径
>python -c "import sys; print(sys.executable)"
# 输出示例:D:\Program Files\Python313\easyocr_env\Scripts\python.exe
# 查看当前 pip 属于哪个 Python 环境
>pip --version
# 输出示例:pip 25.2 from D:\Program Files\Python313\easyocr_env\Lib\site-packages\pip (python 3.13)


2299

被折叠的 条评论
为什么被折叠?



