- 部分 I. Python 入门
- 第 1 章 Python 入门
- 第 2 章 Python Package Index (PyPI)
- 第 3 章 Python 模块
- 第 4 章 数据类型
- 第 5 章 数据结构
- 第 6 章 Class
- 第 7 章 Input/Output
- 第 8 章 Pipe
- 第 9 章 Library
- 9.2. 随机数
- 9.3. Python 多线程
- 9.13. syslog
- 9.5. Socket
- 9.6. subprocess
- 9.7. YAML
- 9.8. Daemon
- 9.9. python-memcached
- 9.10. Pyro - Pyro is short for PYthon Remote Objects
- 9.11. Python Imaging Library
- 9.12. getopt – Command line option parsing
- 9.14. python-subversion
- 9.15. SimpleHTTPServer
- 9.16. fuse-python.x86_64 : Python bindings for FUSE - filesystem in userspace
- 9.17. Network
- 9.18. Python-spdylay - Spdylay Python Extension Module
- 9.19. mechanize
- 9.20. Dominate
- 第 10 章 Frameworks
- 第 12 章 终端环境开发
- 部分 II. Python 数据分析
- 第 13 章 Crawler
- 第 14 章 Scrapy - Python web scraping and crawling framework
- 第 15 章 Pandas - Python Data Analysis Library
- 第 16 章 股票
- 第 17 章 数据可视化
- 部分 III. 人工智能 AI
- 第 18 章 OCR
- 第 19 章 语音处理
- 第 20 章 视频
- 第 21 章 人脸识别
- 第 22 章 自然语言处理
- 第 23 章 自动化运维
- 第 24 章 办公自动化
- 第 25 章 OpenCV
- 第 26 章 图形开发
- 第 27 章 3rdparty toolkit
- 第 29 章 实用代码
- 第 30 章 FAQ
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 18 章 OCR
第 18 章 OCR
目录
OCR(Optical Character Recognition):光学字符识别,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
OCR 的应用场景:
- 扫描件的文字识别:纸质扫描件,PDF文件,纸书籍转电子书
- 卡证文字识别:名片,身份证,银行卡
- 车牌设别:多用在停车场和交警执法
- 票据识别:报销凭证,税务票据,医疗票据
- 教育领域:公式识别,自动判卷,自动答题
OCR 原理
扫描/拍照 > 图像输入 > 二值化 > 去噪声 > 倾斜校正 > 版面分析 > 字符切割 > 字符识别 > 版面恢复 > 文字校对
扫描或拍照:使用扫描仪将纸质资料扫描成图像文件,手机拍照也能达到同样效果,然后将图像文件交给OCR软件进行处理。
首先把彩色图像编程黑白图像(黑色文字,白色背景),识别系统不关心颜色。
通过算法去除图像中的影响因素,噪点,污染,这部叫去噪声,类似Ps中的色阶,降噪,模糊一类的操作,让图像中的文字更突出。
然后矫正倾斜的图像,分析文本段落,切割字符,识别字符。
将识别的字符,重新排版,生成 Text 文本文件。
较为高级OCR系统,带有AI语法分析,能够实现拼写检查,语法校对等等。
18.1. EasyOCR
18.1.1. 安装 EasyOCR
pip install easyocr
EasyOCR 源码
https://github.com/JaidedAI/EasyOCR
安装最新版
pip install git+git://github.com/jaidedai/easyocr.git
18.1.2. 操作演示
import easyocr reader = easyocr.Reader(['ch_sim','en']) result = reader.readtext('test.jpg') print(result) for text in result: word = text[1] print(word)
18.1.3. 命令行运行
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True
18.1.4. 函数
18.1.4.1. Reader()
禁用 GPU
reader = easyocr.Reader(['ch_sim','en'], gpu = False)
18.1.4.2. readtext() 函数
进输出识别结果
reader.readtext('chinese.jpg', detail = 0)
输出结果
['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']
18.1.5. urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>
解决方法,加入下面代码
import ssl ssl._create_default_https_context = ssl._create_unverified_context
或运行
pip install --upgrade certifi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论