Python 自动识别图片文字—保姆级OCR实战教程
这是本文的目录
- 前言
- 1.准备
- 2.cnocr 识别图片的中文
- 3.pytesseract 识别图片的英文
- Python资料文末获取
- 「 Python经验分享 」
- 一、Python所有方向的学习路线
- 二、学习软件
- 三、入门学习视频
- 四、实战案例
- 五、面试资料
- 资源领取
- 好文推荐
前言
OCR 是光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。
很早之前就有同学在后台回复希望出一篇 OCR 相关的文章,今天尝试了一下 cnocr 和 tesseract 两个 Python 开源识别工具的效果,给大家分别讲讲两个工具的使用方法和对比效果。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。
(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。
请选择以下任一种方式输入命令安装依赖:
- Windows 环境 打开 Cmd (开始-运行-CMD)。
- MacOS 环境 打开 Terminal (command+空格输入Terminal)。
- 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
(选择一)安装 cnocr:
pip install cnocr
看到 Successfully installed xxx 则说明安装成功。
如果你只想对图片中的中文进行识别,那么 cnocr 是一个不错的选择,你只需要安装 cnocr 包即可。
但如果你想试试其他语言的OCR识别,Tesseract 是更好的选择。
(选择二)安装 pytesseract:
首先,无论是Windows还是macOS,你都需要安装 pytesseract:
pip install pytesseract
其次,还需要安装Tesseract.
(macOS) Tesseract 在macOS下可以使用brew安装:
brew install tesseract
非常方便,一条命令即可完成安装。
(Windows) 安装Tesseract
需要先下载安装tesseract的程序,然后下载中文简体字预训练好的模型包(尽管本教程不会用tesseract,但还是给大家提供了)。
你可以在Python实用宝典公众号后台回复:tesseract 打包下载。
下载完成后,将 tesseract-ocr-setup-4.00.00dev.exe 安装到 Tesseract-OCR 指定目录下,复制该目录路径增加到Path中:
并将训练好的模型文件 chi_sim.traineddata 放入该目录中,这样安装就完成了。
2.cnocr 识别图片的中文
cnocr 主要针对的是排版简单的印刷体文字图片,如截图图片,扫描件等。目前内置的文字检测和分行模块无法处理复杂的文字排版定位。
尽管它分别提供了单行识别函数和多行识别函数,但在本人实测下,单行识别函数的效果非常糟糕,或者说要求的条件十分苛刻,基本上连截图的文字都识别不出来。
不过多行识别函数还不错,使用该函数识别的代码如下:
from cnocr import CnOcr
ocr = CnOcr()
res = ocr.ocr(‘test.png’)
print(“Predicted Chars:”, res)
用于识别这个图片里的文字:
效果如下:
如果不是很吹毛求疵,这样的效果已经很不错了。
3.pytesseract 识别图片的英文
如果你的OCR目的不是中文而是英文,是需要别的模型的。这里给大家分享Tesseract-OCR,它是一款由HP实验室开发,由Google维护的开源OCR引擎。
Tesseract-OCR 可扩展性很强,你可以基于它训练属于自己的OCR模型。
现在给大家看看它分类英文的效果,代码如下:
import pytesseract
from PIL import Image
image = Image.open(‘test.png’)
code = pytesseract.image_to_string(image, lang=‘eng’)
print(code)
识别的图片:
效果如下:
Tesseract 识别英文的效果真的很不错,中文效果就比较一般了。
如果你想试试Tesseract识别中文,只需要将代码中的eng改为chi_sim即可,不过相信我,效果不忍直视。
我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注
Python资料文末获取
「 Python经验分享 」
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家免费分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN
朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
资源领取
这世界上赚钱成本最低的就是:用知识投资大脑
人生什么时候学习都不晚,晚的是你一直想学却一直没有行动,而导致大量内耗
最后祝你学习愉快
好文推荐
了解python的前景:https://blog.csdn.net/weixin_49891576/article/details/127187029
python有什么用:https://blog.csdn.net/weixin_49891576/article/details/127125308
Python 自动识别图片文字—保姆级OCR实战教程相关推荐
- Python 自动识别图片文字—OCR实战教程
OCR 是光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程. 很早之前就有同学在公众号后台回复 ...
- python 离线图片文字识别(OCR)Tesseract
本人最近也是在使用和学习python遇到各种问题,公司内网控制严格 没有网络,同时也不允许安装exe文件,做python 十分的费劲,也研究了好几款文字识别的OCR ,要么是收费的 要么是离线不能用, ...
- python 嵌入式打包【保姆级文图教程】
python 嵌入式打包 文章目录 python 嵌入式打包 嵌入式解决了什么问题? 什么是嵌入式? 如何安装嵌入式? 前往官网下载嵌入式 解压并配置嵌入式设置 如何安装新的模块 如何运行 嵌入式解决 ...
- 2021-02-21 Python Easyocr 图片文字识别
Python Easyocr 图片文字识别 前段时间做了车牌识别相关的内容分享,参看: 车牌识别(1)-车牌数据集生成 车牌识别(2)-搭建车牌识别模型 今天给大家分享一个简单的OCR文本识别工具:e ...
- 【Python例】利用 python 进行图片文字信息的提取 --- OCR-EasyOCR
[Python例]利用 python 进行图片文字信息的提取 - OCR-EasyOCR 本文主要用于记录,并使用 python 脚本进行图片文字信息的生成. 什么是 OCR? OCR OCR(Opt ...
- OidProducer保姆级铺码教程(教你如何自制点读书)
软件介绍: 1.OidProducer(铺码用软件) 2.Adobe Acrobat DC(打印用软件,打印时一定要选择实际大小,不能放大缩小文件) 步骤简介: 1.先设置(必须认真设置好才开始铺码, ...
- python实现动态壁纸_利用Python批量提取Win10锁屏壁纸实战教程
前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换 ...
- 联想用u盘重装系统步骤_保姆级重装系统教程在此
重装系统不用愁,管家给你露一手!保姆级重装系统教程在此,请客官笑纳. 装前必读: 1. "联想原厂系统镜像"程序目前只适用联想或ThinkPad品牌的64位Win10家庭中文版电脑 ...
- 如何安装配置JDK(保姆级完美解决教程+附百度网盘链接)
JDK种类繁多,在这里我以JDK14为例,为什么以JDK14为例呢?当然是为了破解白嫖idea2020旗舰版.^_^^_^(如果大家感兴趣,我后续会一个教程) 首先去甲骨文官方网站下载JDK1 ...
- 直接用IDEA刷leetcode的插件--Leetcode editor (保姆级安装示例教程)
直接用IDEA刷leetcode的插件–Leetcode editor (保姆级安装示例教程) 你是否还在发愁刷 leetcode 不好debug? 你是否还在往IDEA里粘代码调试好再"C ...
最新文章
- 多进程和多线程的区别
- Windows Server 2012正式版RDS系列②
- 技术实践 | Web 端实现 RTC 视频特效的解决方案
- 为什么要设置Java环境变量(详解)
- SAP S/4HANA生产排期scheduling profile配置
- “魅力足球,艺术中国”2007中国艺术精英展
- ECMAScript Decorators---装饰器
- 无显示仍然发挥树莓派——VNCserver设定
- L - Oil Deposits
- ubuntu 操作记录
- 从零开始编写自己的C#框架(11)——创建解决方案
- jmeter压力测试(Linux与Windows)
- Ubuntu 安装QT
- FireBug使用方法
- ArcGIS 解决影像裁剪后锯齿问题
- 博途的多步过程控制, 寄存器寻址
- UC手机浏览器本地m3u8流媒体缓存碎片批量合并为视频
- 51开发板用ADC采集模拟量
- 【年度总结】于无声处听惊雷-2016年度总结
- JPA+Hibernate中常用的注解