python 技术篇-3行代码搞定图像文字识别,pytesseract库实现
我们需要 pillow 和 pytesseract 这两个库,pip install 安装就好。还需要安装 Tesseract-OCR.exe 然后配置下就好了。具体的环境配置方法请看python 技术篇-使用pytesseract库进行图像识别之环境配置https://www.cnblogs.com/chenshengkai/p/11318272.html英文字母图像识别演示这个是我保存名为 English.png 的图片,下面我来提取文字。
pytesseract 库的 image_to_string() 方法就能把图片中的英文字母提取出来。from PIL import Imageimport pytesseract image = Image.open('English.png')content = pytesseract.image_to_string(image,) # 解析图片print(content) 运行效果图:注:有些字体可能会识别出现问题,尽量用比较标准的字体。
中文汉字图像识别演示这个是我保存名为 chinese.png 的图片,下面我来提取文字。首先需要安装对应的语言包:Tesseract各个版本语言包获取方式和安装方法要在pytesseract 库的 image_to_string() 方法里加个参数lang='chi_sim',这个就是引用对应的中文语言包,中文语言包的全名是 chi_sim.traineddata。from PIL import Image import pytesseract image = Image.open('English.png') content = pytesseract.image_to_string(image, lang='chi_sim') # 解析图片 print(content)
注:有些字体可能会识别出现问题,尽量用比较标准的字体。
tesseract OCR识别工具及pytesseract
python测试开发_AI命理2018.08.22 17:46:22字数 616阅读 3,958简介
python测试开发项目实战-目录
python工具书籍下载-持续更新
可以使用pytesseract库从图像中提取文本。Tesseract是一款由Google赞助的开源OCR。 pytesseract是python包装器,它为可执行文件提供了pythonic API。Tesseract(/'tesərækt/) 这个词的意思是"超立方体",指的是几何学里的四维标准方体,又称"正八胞体"。下图是一个正八胞体绕着两个四维空间中互相正交的平面进行双旋转时的透视投影。不过这里要讲的,是一款以其命名的开源 OCR(Optical Character Recognition, 光学字符识别) 软件。所谓 OCR 是图像识别领域中的一个子领域,该领域专注于对图片中的文字信息进行识别并转换成能被常规文本编辑器编辑的文本。Tesseract 已经有 30 年历史,开始它是惠普实验室的一款专利软件,然后在 2005 年开源,自 2006 年后由 Google 赞助进行后续的开发和维护。在 1995 年 Tesseract 曾是世界前三的 OCR 引擎,而且在现在的免费 OCR 引擎中,其识别精度也仍然是出类拔萃的。因为其免费与较好的效果,许多的个人开发者以及一些较小的团队在使用着 Tesseract ,诸如验证码识别、车牌号识别等应用中,不难见到 Tesseract 的身影。
python_lib_ocr_tesseract.gif安装以ubuntu 16.04为例 # pip3 install pytesseract # apt install tesseract-ocr tesseract-ocr-chi-sim 快速入门 #!/usr/bin/python # -*- coding: utf-8 -*- # Author: china-testing@126.com wechat:pythontesting qq群:144081101 # CreateDate: 2018-04-25 import pytesseract as pt import requests from PIL import Image #img = Image.open("textinimage.png") print("英文:") url = "https://china-testing.github.io/images/python_lib_ocr_en.png" img = Image.open(requests.get(url, stream=True).raw) text = pt.image_to_string(img) print(text) #img = Image.open("textinimage.png") print("中文:") url = "https://china-testing.github.io/images/python_lib_ocr.PNG" img = Image.open(requests.get(url, stream=True).raw) text = pt.image_to_string(img,lang='chi_sim') print(text)
Alt Text
Alt Text执行结果 $ python3 04_10_perform_ocr.py 英文: This is an image containing text. And some numbers 123456789 And also special characters: !@#$%"&*(_+ 中文: pyth0"自动化测试人工智能 可见中文识别的效果并不太好,为此很多公司进行机器学习来改进。另外网易的有道云笔记的OCR效果做得很不错,白描的凑合能用,qq的扫二维码也可以识别文字,但是做得比较烂。ocr可以做python项目对初学者进行实践,请联系微信:pythontesting本文最新代码地址,后续相关ocr的资料也会放在这里。另外tesseract也可以命令行执行: