几行代码教你OCR的正确姿势

什么是OCR?

我们来看一下百度百科给的定义:

OCR (Optical Character
Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;

我简要的总结为:

        OCR三步走:"内容——> 扫描——>结果"

今天来用代码的形式讲一下,怎么用代码快速实现OCR。

pytesseract

Python-tesseract是谷歌Tesseract-OCR (http://code.google.com/p/tesseract-ocr/)的包装器。它作为独立的调用脚本也很有用,因为它可以读取Python Imaging Library支持的所有图像类型,包括jpeg,png,gif,bmp,tiff 等,默认情况下tesseract-ocr只支持tiff和bmp。

Python-tesseract 支持版本为 python 2.7+ 或 python 3.x,接下来我们安装pytesseract

# 安装pytesseract
pip install pytesseract
安装完成以后导入使用

# 导入
import pytesseract

PIL

PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。

# 导入PIL
from PIL import image

接下来就是最最最最最最精髓的地方啦~~~~~~~~~~

实现读取解析的几行代码:

# 读取image
image = Image.open('你的文件路径/图片名.png')
# 识别image上的文字
content_text=pytesseract.image_to_string(image)
# 打印文字
print(content_text)

这样OCR就成功啦!

完整代码如下:

#!/usr/env/bin/python
# 用于设置输出内容编码,避免乱码
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
​
# 导入关键库
from PIL import Image
import pytesseract
​
image = Image.open('你的文件路径/图片名.png')
content_text=pytesseract.image_to_string(image)
print(content_text)

签名:在未来面前,我们都是孩子。学习、思考才能让我们越走越远。

学习博客:oceaneyes.top

个人网站:www.oceaneyes.cn
在这里插入图片描述

posted @ 2019-02-28 16:29  OCEANEYES.GZY  阅读(321)  评论(0编辑  收藏  举报