提取图像中的文本信息(Tesseract OCR 和 pytesseract)

环境准备

安装Tesseract:点这里参考本人博客

下载第三方库

pip install Pytesseract

这个库只自带了一个英语的语言包,这个时候如果我们图片中有对中文或者其他语言的识别需求,就需要去下载其他语言包

下载其他语言包

进入官网以后进入Traineddata Files
在这里插入图片描述
找到这个位置在这里插入图片描述
tessdata_best适用于愿意以大量速度换取稍微好一点的准确性的人。它也是 唯一可用于高级用户的某些再培训方案的文件集。

tessdata 中的第三组是唯一支持旧识别器的集合。4 年 00 月的 2016.4 文件既有旧版 LSTM 模型,也有旧版 LSTM 模型。tessdata 中的当前文件集具有旧模型和较新的 LSTM 模型(tessdata_best 中 00.00.<> alpha 模型的整数版本)。
点这里直接拿传送的到github的语言包下载地址
下载完成后将traineddata文件拷贝到tesseract的安装目录下tessdata中(像这样!!!!)
在这里插入图片描述

小案例

输出tesseract的版本号

import pytesseract

from PIL import Image
# 输出版本号
print(pytesseract.get_tesseract_version())

结果:5.0.1.20220107

输出能够识别的语言列表

import pytesseract

from PIL import Image
# 输出版本号
print(pytesseract.get_languages())

结果:['chi_sim', 'chi_sim_vert', 'eng', 'osd']

读取中文

import pytesseract

from PIL import Image

case = pytesseract.image_to_string(Image.open('a.png'), lang='chi_sim')
print(case)

在这里插入图片描述
读取英文

import pytesseract

from PIL import Image

case = pytesseract.image_to_string(Image.open('a.png'), lang='chi_sim')
print(case)

在这里插入图片描述
4、获取图片中文字的详细信息
image_to_data()用来获取识别出来的文字的详细信息,包含识别到的文本内容,可信度,位置等:

import pytesseract
from PIL import Image
im = Image.open('1.jpg')
获取图片中文字的详细信息
print(pytesseract.image_to_data(im, lang='chi_sim'))

在这里插入图片描述
5、识别图片中的文字和位置
image_to_boxes()用来获取识别出来的文字和位置信息:

import pytesseract
from PIL import Image
im = Image.open('1.jpg')
print(pytesseract.image_to_boxes(im, lang='chi_sim'))

在这里插入图片描述
识别osd信息
image_to_osd()返回识别到的osd信息:


import pytesseract
from PIL import Image

im = Image.open('c.png')
print(pytesseract.image_to_osd(im, lang='chi_sim'))

请添加图片描述
在这里插入图片描述
7、识别并生成xml文件
image_to_pdf_or_hocr()可以将识别的文字信息转为xml格式字节流,从而可以写入到xml文件中,其中入参extension设置为’hocr’:

import pytesseract
from PIL import Image

im = Image.open('c.png')
hocr = pytesseract.image_to_pdf_or_hocr(im, lang='chi_sim', extension='hocr')
with open('test.xml',"w+b") as f:
    f.write(hocr)
print(type(hocr))

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙的代码在报错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值