加载中......
输入验证码,即可复制
微信扫码下载好向圈APP, 登陆后即可进入消息页面查看验证码
只需要3秒时间

今天给大家介绍一个超级简单强大的。OCR文本识别工具:easyocr.

该模块支持70多种语言的即用型OCR,包括汉语、日语、韩语和泰语。

以下是该模块的实战教程。


1.准备

请选择以下任何方式输入命令安装

1. Windows 环境 打开 Cmd (开始-运行-CMD)。

2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

3. 假如你用的是 VSCode编辑器 或 Pycharm,界面下方可直接使用Terminal.

它会安装除了模型文件之外的所有依赖,模型文件则会在运行代码的时候下载。

对于Windows,如果在安装 Torch 或 Torchvision 时报错了,请按照https://pytorch.org 安装的官方说明 Torch 和 Torchvision。

想用显卡计算,需要搜索下载CUDA,并在Pytorch在网站上,确保选择正确CUDA版本。如果只打算的话CPU在模式下运行,请选择CUDA = None。

2.实战教程

这个模块真的很简单,三行代码完成了:

所需的模型文件将安装在运行过程中,如下:


然而,它的下载速度非常慢,而且经常失败,所以这里有第二个解决方案:先下载模型文件,然后将其放置在所需的位置:

上滑查看更多

文本检测模型(CRAFT)(必须)

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/craft_mlt_25k.zip

中文(简体)模型(必须识别中文)

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese_sim.zip

中国(传统)模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese.zip

拉丁模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/latin.zip

日本模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/japanese.zip

韩文模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/korean.zip

泰文模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/thai.zip

阿拉伯文模型

https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/arabic.zip

如果下载速度太慢,请在Python实用宝典微信官方账号后台回复:easyocr, 下载我上传到微云网盘的文本检测模型(CRAFT)中文简体模型文件包。

下载模型后,将文件放在以下位置。

Windows:C:Users用户名.EasyOCRmodel

Linux:~/ .EasyOCR / model

如下图所示:


重新执行脚本不会提醒下载模型:

我随便在剧本所在的文件夹下剪了一张直播弹幕的图片,命名为test.png:


结果如下:


基本上所有应该识别的文字都已经识别出来了,效果很好。

此外,还可以看到输出采用列表格式,每个列表格式item分别表示相应文本的边界框,识别文本结果和可信度。

该模块还可以识别多语言:


我把这张照片命名为test2.jpg,修改代码中对应的图片名称:

效果如下:


这张图很复杂,中英文混在一起在一起,但你可以看到,除了左上角的水印外,图片中的文本基本上被识别出来。虽然有些文本识别错误,但仍在可接受的范围内。

但需要注意的是,虽然很多语言可以一次识别,但并不是所有的语言都可以一起使用。通常,公共语言和特殊语言可以相互识别,如英语和日语。

假如你的电脑没有GPU或者显存不足,可以加一个gpu=false仅使用参数CPU运行:

此外,该模块还支持直接使用命令操作,非常方便,您可以尝试:

如果你喜欢今天的文章,我们的文章束。Python 请继续关注我们的实战教程!记得给三连!

广告圈
3031 查看 0 0 反对

说说我的看法高级模式

您需要登录后才可以回帖 登录|立即注册

还没人评论此主题哦

相关阅读