3行python代码翻译70种语言,这个OCR神奇太赞了
写在前面的一些P话:
今天给大家介绍一个超级简单且强大的OCR文本识别工具:easyocr.
这个模块支持70多种语言的即用型OCR,包括中文,日文,韩文和泰文等。
完全满足了大家对于语言的要求,不管你说的是中文、外文,还是鸟语,统统都给你拿下。(不是)
废话不多说,下面是这个模块的实战教程。
1.准备
请选择以下任一种方式输入命令安装依赖:
Windows 环境 打开 Cmd (开始-运行-CMD)。
MacOS 环境 打开 Terminal (command+空格输入Terminal)。
如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install easyocr
它会安装除了模型文件之外的所有依赖,模型文件则会在运行代码的时候下载。
对于Windows,如果在安装 Torch 或 Torchvision 时报错了,请按照https://pytorch.org 的官方说明安装 Torch 和Torchvision。
如果你想使用显卡进行计算,你需要搜索下载CUDA,并在Pytorch网站上,确保选择正确的CUDA版本。如果仅打算在CPU模式下运行,请选择CUDA = None。
2.实战教程
这个模块用起来真的非常简单,三行代码完事了:
Python学习交流Q群:660193417####
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test.png')
运行的过程中会安装所需要的模型文件,像下面这样:
不过它的下载速度非常慢,而且经常会失败,因此这里给出第二个解决方案:先下载好模型文件,再将其放置到所需要的位置
文字检测模型(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
下载完模型后,将文件放到下面这个位置。
Windows:C:\Users\用户名.EasyOCR\model
Linux:~/ .EasyOCR / model
如下图所示:
重新执行脚本不会再提醒下载模型了:
import easyocr
reader = easyocr.Reader(['ch_sim'])
result = reader.readtext('test.png')
print(result)
我随便截了一个直播弹幕的图片保存在脚本所在的文件夹下,命名为test.png:
结果如下:
基本上所有应该识别的文字都识别出来了,效果非常不错。
另外也可以看到,输出采用列表格式,每个item分别表示对应文字的边界框,识别文本结果和置信度。
这个模块还能识别多语种的情况:
我将这张图片命名为test2.jpg,修改代码中对应的图片名称:
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test2.jpg')
print(result)
效果如下:
这张图片很复杂,而且是中英文混杂在一起的情况,但是可以看到模型除了左上角的水印,图片中的文字基本都是识别出来了,尽管有部分文字识别错误,但还在可以接受的范围之内。
不过需要注意的是,虽然可以一次性识别许多种语言,但并非所有语言都可以一起用,通常是公共语言和一个特殊语种可以一起识别,相互兼容,比如英语和日语。
如果你的电脑没有GPU或者显存不足,可以加一个gpu=false的参数仅使用CPU运行:
reader = easyocr.Reader(['ch_sim','en'], gpu = False)
另外,这个模块还支持直接使用命令行运行,相当方便,大家可以试试:
easyocr -l ch_sim en -f test.png --detail=1 --gpu=True
最后
我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注我们!记得给个三连哦!
3行python代码翻译70种语言,这个OCR神奇太赞了的更多相关文章
- 100行Python代码实现一款高精度免费OCR工具
近期Github开源了一款基于Python开发.名为 Textshot 的截图工具,刚开源不到半个月已经500+Star. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语 ...
- 一个 11 行 Python 代码实现的神经网络
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...
- 200行Python代码实现2048
200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...
- 30行Python代码实现人脸检测
参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...
- 21行python代码实现拼写检查器
引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...
- vim中凝视多行python代码
在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...
- 几行python代码解决相关词联想
日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的.笔者认为最简单的 ...
- 转-Pycharm中运行Python代码的几种方式
转自:Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式 ...
- 将python代码转化为c语言代码,提高运行效率
将python代码转化为c语言代码,提高运行效率 首先,需要安装cpython库: pip install cython 安装完成之后,写一段简单的代码,例如下面这个利用递归求斐波那契数列的函数,然后 ...
随机推荐
- 十分钟学会Golang开发gRPC服务
gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用Protocol Buffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持. ...
- 比 Navicat 还要好用、功能更强大的工具!
DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议.可以通过官方网站或者 Github 进行下载. 由于 DBeaver 基于 Java 开发 ...
- k8s入门之Ingress(七)
Ingress 的功能其实很容易理解:所谓 Ingress,就是 Service 的"Service",代理不同后端 Service 而设置的负载均衡服务. 一.安装ingress ...
- XCTF练习题---MISC---embarrass
XCTF练习题---MISC---embarrass flag:flag{Good_b0y_W3ll_Done} 解题步骤: 1.观察题目,下载附件,这道题真难 2. 拿到手以后默认使用Wiresha ...
- 基于DSP_CPLD_aP8942A_LM1791的语音控制
语音驱动程序 drv_voice.c 语音服务程序 srv_voice.c 1.先运行初始化函数,主要是设置初始音量,并建立一个软件定时器来,以10ms的周期来调用语音播放函数. 1 void s ...
- 《Streaming Systems》第一章: Streaming 101
数据的价值在其产生之后,将随着时间的流逝逐渐降低.因此,为了获得最大化的数据价值,尽可能实时.快速地处理新产生的数据就显得尤为重要.实时数据处理将在越来越多的场景中体现出更大的价值所在 -- 实时即未 ...
- 1.还不会部署高可用的kubernetes集群?看我手把手教你使用二进制部署v1.23.6的K8S集群实践(上)
公众号关注「WeiyiGeek」 设为「特别关注」,每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 ...
- Mybatis-Plus乐观锁Version
实现原理 取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果ver ...
- linux篇-linux mysql数据库定时备份
1在linux上面创建一个文件夹,并且进行备份 cd /home mkdir backup cd backup 2创建一个脚本 Vi imaginebase.sh #!/bin/bash mysqld ...
- 114_Power Pivot 销售订单之销售额、成本、利润率相关
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 双十二回来后遇到一个比较有意思的计算销售额和利润率的需求(见下文说明). 先看下效果. 结果 说明: 1.订单表 ...