初体验python图片识别文字【Tesseract】OCR技术

2021/4/8 1:09:23

本文主要是介绍初体验python图片识别文字【Tesseract】OCR技术,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

系列文章目录


@[TOC](文章目录)

前言

现在OCR技术用的比较广泛,但是大多接口都是需要付费,例如腾讯、百度、阿里
在这里插入图片描述

但是当我们想用到里面的文字时,还是要一个字一个字打出来。那么我们能不能直接识别图片中的文字呢?答案是肯定的。接下来我一起来了解一下…

一.Tesseract

官方文档:https://tesseract-ocr.github.io/tessdoc/Data-Files

1.1 Tesseract的安装及配置

Tesseract的安装我们可以进入到该网址 https://digi.bib.uni-mannheim.de/tesseract/,如下图所示:
在这里插入图片描述
下载哪个呢?其中w32表示32位系统,w64表示64位系统,大家选择根据自己本地电脑选择下载对应的版本
我这里选择选择下载相对比较新的那
在这里插入图片描述
下载速度似乎有点慢


等了好久,终于下载好了,直接点击安装
我把这个安装包放入百度云,需要的直接取,下载的话快一点
链接: https://pan.baidu.com/s/12lCzRSZhMo18EIyDfRj5lw 提取码: ir8e在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装路径不建议在C盘,注意安装路径文件夹不要有中文和空格
在这里插入图片描述

安装好以后,把刚才安装的路径添加到系统的环境变量当中:D:\testOCR\Tesseract-OCR\tesseract.exe
在这里插入图片描述
打开cmd,输入tesseract.exe

1.2 下载语言包

Tesseract默认是不支持中文的,如果想要识别中文或者其它语言需要下载相应的语言包
https://tesseract-ocr.github.io/tessdoc/Data-Files
打开上面这个链接,进入网站,下载我们需要的语言包,我这里下载中文简体语言包,默认就支持英语语言包,就不下载了

在这里插入图片描述

这个网站在国外,下载很慢,只能耐心等待…
在这里插入图片描述

下载完成后我们需要把下载好的语言包复制到放到Tesseract的路径下的tessdata目录下,我这里的绝对路径是

D:\testOCR\Tesseract-OCR\tessdata

1.3 下载python依赖模块

pip install pytesseract
pip install pillow

二.文字识别

2.1 识别英文

我找了一张全是英文的图片,看它能不能正常识别出来
在这里插入图片描述

#! /usr/bin/python
import pytesseract
from PIL import Image
# 读取图片
#C:/Program Files (x86)/Tesseract-OCR/tesseract.exe
im = Image.open('ocr.png')
# 识别文字
string = pytesseract.image_to_string(im)
print(string)

运行demo
在这里插入图片描述
不太顺利,直接报错了,似乎没有找到tesseract
首先找到这个文件
在这里插入图片描述
在这里插入图片描述
把这里修改为,你本地安装的tesserac的路径,我这里的是

D:\testOCR\Tesseract-OCR\tesseract.exe

在这里插入图片描述

在运行试试
在这里插入图片描述
这会没有报错了,还有点问题,找找原因,似乎没有指定语言配置,修改一下试试

string = pytesseract.image_to_string(im, lang='eng')

在运行试试
在这里插入图片描述
greate,英文完美识别

2.2 识别中文

在这里插入图片描述

import pytesseract
from PIL import Image
im = Image.open('chinese.png')
# 识别文字
string = pytesseract.image_to_string(im, lang='chi_sim')
print(string)

运行一下看看效果:
在测试过程中发现,Tesseract对手写体、行楷等飘逸的字体识别不准确,对一些复杂的字识别也有待提升。但是宋体、印刷体等笔画严谨的字体识别准确率很高。另外如果图片的倾斜大于一定的角度,识别结果也会有很大差别。

参考文章

1.https://www.jb51.net/article/187678.htm



这篇关于初体验python图片识别文字【Tesseract】OCR技术的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程