栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python集成pytesseract库实现图片文字OCR识别过程

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python集成pytesseract库实现图片文字OCR识别过程

一、概述

OCR(Optical character recognition,光学字符识别)是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术,可以将图片,纸质文档中的文本转换为数字形式的文本。

OCR过程一般包括以下步骤:

1、图像预处理

2、文本定位

3、字符分割

4、字符识别

5、后处理

pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。本文介绍如何使用pytesseract 实现图片文字识别。

最初由惠普开发,后来Google赞助的开源OCR引擎 tesseract 提供了比较精确的文字识别API,本文将要介绍的Python库Pytesseract就是基于Tesseract-OCR 引擎。

二、步骤

1、下载最新版并安装tesseract-ocr-w64-setup-v5.0.1.20220118

下载地址:Index of /tesseract

注意:安装时候选择并勾选中文语言包

2、安装完成后,添加到环境变量PATH中,我的安装路径是:E:devInsFolderpythontesseract-ocr-w64

令行窗口输入:tesseract -v ,查看是否安装成功

 

 查看支持的语言

如果安装过程中忘记勾选语言,导致默认不会识别中文,此时需要手动下载语言包,放到目录E:devInsFolderpythontesseract-ocr-w64tessdata

 

语言包下载地址:Traineddata Files for Version 4.00 + | tessdoc

 3、安装pytesseract

 Python tesseract:GitHub - madmaze/pytesseract: A Python wrapper for Google Tesseract

pip安装pytesseract

另外需要安装一下Pillow库,用于图像处理

 

注意:python集成pytesseract后,需要再python Lib 下pytesseract库安装目录修改指定安装的识别tesseract_cmd的exe目录

 

 

环境准备完毕。 

三、实例

1、待识别的图片

2、识别结果

2021年9月18日12:08:08

修改无人机默认第一个颜色

调整飞手信息,默认鼠标滑动上再显示

3、代码

# model
# param
# auth:lizhi.guo
# time:2022/5/5 17:16
from PIL import Image
import  pytesseract
import cv2
import os

image = cv2.imread("d://opencv.png")
preprocess = 'blur'
# if preprocess == 'blur':
#     image = cv2.GaussianBlur(image,(3,3),0)
# if preprocess == 'thresh':
#     image = cv2.threshold(image,0,255,cv2.THRESH_BINARY|cv2.THRESH_OTSU)[1]

gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
height, width = gray.shape[:2]
size = (int(width*2), int(height*2))
resize=cv2.resize(gray,size)

filename = "{}.png".format(os.getpid())
filename="d://"+filename
cv2.imwrite(filename,resize)
text = pytesseract.image_to_string(resize,lang='chi_sim+eng')
print(text)
#os.remove(filename)
cv2.imshow("image",image)
cv2.imshow("gray",gray)
cv2.waitKey(0)

注意:

识别效果而言:

1、首先转灰度,不转灰度图像识别效果不好

2、其次,看图片大小,如果太小,需要等比例放大

3、图像有噪音的话需要高斯滤波处理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号