前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Easyocr 图片文字识别

Python Easyocr 图片文字识别

作者头像
用户9925864
发布2022-07-27 08:33:16
13.9K0
发布2022-07-27 08:33:16
举报
文章被收录于专栏:算法工程师的学习日志

前段时间做了车牌识别相关的内容分享,参看:

车牌识别(1)-车牌数据集生成

车牌识别(2)-搭建车牌识别模型

今天给大家分享一个简单的OCR文本识别工具:easyocr。这个模块支持70多种语言的即用型OCR,包括中文,日文,韩文和泰文等。当然这个模块适当改进也可以用以车牌识别

1.安装

代码语言:javascript
复制
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple

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

在pytorch网站上,请确保选择正确的CUDA版本。如果仅打算在CPU模式下运行,请选择CUDA = None。

我的电脑没安装gpu版本的pytorch,所以运行比较慢。

2.使用教程

代码语言:javascript
复制
import easyocr
reader = easyocr.Reader(['ch_sim']) # ch_sim是Chinese simplified简写
result = reader.readtext('1.jpg')
print(result)
代码语言:javascript
复制

运行的过程中会安装所需要的模型文件,像下面这样:

由于它的下载速度非常慢,而且经常会失败,因此建议先下载好模型文件,再将其放置到所需要的位置:

代码语言:javascript
复制
文字检测模型(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

如果下载速度太慢,请在公众号后台回复:easyocr(明天再试下载,今晚还没传输到网盘),下载文字检测模型(CRAFT)和中文简体模型文件包。

下载完模型后,将文件放到下面这个位置。

代码语言:javascript
复制
Windows:C:\Users\用户名\.EasyOCR\model
Linux:~/ .EasyOCR / model

如下图所示:

重新执行脚本不会再提醒下载模型了,随便找的一个图片如下:

识别结果如下:

代码语言:javascript
复制
[([[60, 308], [745, 308], [745, 447], [60, 447]], '文字识别提取', 0.9516711235046387), ([[77, 471], [725, 471], [725, 535], [77, 535]], '支持识别英法韩日俄德西葡语', 0.7867767214775085)]

输出采用列表格式,每个list分别表示对应文字的边界框、识别文本结果和置信度。

对于多语种的情况:

代码语言:javascript
复制
import easyocr
reader = easyocr.Reader(['ch_sim', 'en'])
result = reader.readtext('chEN.jpg')
print(result)

效果如下:

总体效果还算不错,感兴趣的朋友可以试下车牌识别的效果,以及思考下如何改进车牌识别效果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档