ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-04-07 23:01:09  阅读:304  来源: 互联网

标签:初体验 OCR string Tesseract 识别 pytesseract tesseract 下载


系列文章目录


@[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

标签:初体验,OCR,string,Tesseract,识别,pytesseract,tesseract,下载
来源: https://blog.csdn.net/u014265398/article/details/115495511

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有