首页 > 编程语言 >Python安装OCR识别库tesserocr_pytesseract教程

Python安装OCR识别库tesserocr_pytesseract教程

时间:2022-10-23 17:45:14浏览次数:72  
标签:gray Python 路径 cv2 pytesseract OCR 安装 tesserocr

Python安装OCR识别库tesserocr

1.tesserocr下载

https://digi.bib.uni-mannheim.de/tesseract/

尽量选不带dev的版本,dev是开发版本,不带dev的是稳定版

个人配置

tesseract-ocr-w64-setup-v5.0.0-alpha.20201127.exe

2.tesserocr安装

需要注意以下的点,其他情况下next即可

(1)安装选项

Additional language data语言包安装需要梯子,不然可能会有错误提示。没有梯子的话这两项不选,单独在github下载语言包,等安装完成以后在tesserocr的安装路径下的tessdata文件中添加即可。

Additional language data语言可以全选,如果只是中文识别也可以只选择和Chinese有关的项。

(2)安装目录

安装目录保存一下,后续要用,直接按照默认的路径安装即可

(3)环境变量配置

在此电脑的属性-高级系统设置-环境变量-系统变量中,选中Path变量进行编辑

在Path变量中添加一行-即之前tesserocr的安装路径

在系统变量中添加变量TESSDATA_PREFIX

路径设置为 tesserocr的安装路径\tessdata

(4)查询版本

cmd命令行中输入tesseract -v检测版本,如下图所示则安装无误

3.在python中配置pytesseract

(1)pytesseract库安装

在所需的环境中通过pip安装pytesseract,Anaconda安装比较方便,个人配置为pytesseract 0.2.5版本

命令调用

pip install pytesseract=0.2.5

(2)修改pytesseract.py中路径(仅以Anaconda环境为例)

情况一:没有创建虚拟环境

将tesserocr的安装目录下的tessdata文件夹整个直接复制到Anaconda安装目录下

然后Anaconda安装目录Lib中的site-packagesw文件夹中的pytesseract文件中的pytesseract.py文件中修改

将tesseract_cmd修改成 '自己的tesserocr安装路径/tesseract.exe' 即可,注意斜杠用/,不要用\

情况二:有自己的python虚拟环境

打开虚拟环境,应该是存在Anaconda安装目录下的envs文件中,此处我创建了tensorflow1.0的虚拟环境

在虚拟环境中,复制粘贴tesserocr的安装目录下的tessdata文件夹

后续修改pytesseract.py文件tesseract_cmd路径与之前类似

至此配置完成

4.OCR测试

测试效果

参考

OCR识别项目参考:https://www.bilibili.com/video/BV1vi4y1171z/?p=7&vd_source=8694b8a9b18b03b06f3b9c0775f15e43

测试代码:

from PIL import Image
import pytesseract
import cv2
import os#常用路径操作、进程管理、环境参数

image = cv2.imread('test_hanzi4.png')#测试图片
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.threshold(gray, 0, 255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]#二值化操作
  
filename = "{}.png".format(os.getpid())
cv2.imwrite(filename, gray)#在当前文件中创建新文件,把gray数据写入filename路径中
    
text = pytesseract.image_to_string(Image.open(filename),lang='chi_sim')
#识别中文,不加lang='chi_sim'默认识别英文
#image_to_string将图像上的Tesseract OCR运行结果返回到字符

print(text)
os.remove(filename)#删除指定路径的文件

cv2.imshow("Image", image)
cv2.imshow("Output", gray)
cv2.waitKey(0)         

标签:gray,Python,路径,cv2,pytesseract,OCR,安装,tesserocr
From: https://www.cnblogs.com/ckrfight/p/16818941.html

相关文章

  • Python 用户输入
    1.input()输入【实例】:data=input("请输入:")print(data,type(data))【运行结果】:请输入:3131<class'str'> 2.int类型转换从input()函数输入的内容都是str......
  • Python 字典
    目录导航1.一个简单的字典2.添加键值对3.创建空字典4.修改字典中的值5.删除键值对6.使用get()来访问值7.遍历键值对8.遍历字典的......
  • python7
    一、创建大雁类并定义飞行方法classGeese:'''大雁类'''def__init__(self,beak,wing,claw):print("我是大雁类!我有以下特征:")print(bea......
  • python模块、异常处理、软件开发目录规范总结
    本周总结异常处理生成器模块软件开发目录1.异常处理1.1异常处理语法结构1.基本语法 try:待检测的代码(可能会出错的代码)except错误......
  • vscode下如何把缩进为2个空格的python项目改为4个空格的缩进
    最近在看老项目的代码,是python2.7年代的项目,那个时候很多的python项目都是使用2个空格,不过现在估计大多数人写python项目都是使用4个空格的了,而我看这两个空格的项目代码也......
  • python实现东风快递分拣程序
    需要实现的功能:现有一堆快递地址信息,需对其进行按省分拣,以方便后续投递defjudge_data(city,data_list):"""判断省份或者市是否存在于列表中:paramdata_list:......
  • 7.Python自定义排序详解
    如果以创建的对象作为列表中的元素,那么对列表进行排序时可使用sort()函数或sorted()函数,但要注意的是:①当排序对象为列表的时候两者适合的场景不同②sorted()函数会返......
  • python装饰器
    省流:直接看最后从简单的例子开始,定义装饰器register,定义一个简单的类method,使用装饰器装饰类defregister(*args,name=None):defwarpper(method_cls):pr......
  • Python中的矩阵——NumPy包
    Part1安装NumPy包,以VScode为例:打开VisualStudioCode,选取任一python项目文件,运行该文件,在终端(Terminal)中输入cd+空格+Python安装目录下Scripts文件的路径,例如我......
  • 我决定以后一直使用Eclipse了 因为它也可以安装集成PyDec插件来实现Python开发了 哇哈
    前言​​Python​​​作为当今主流的爬虫编程语言,在我们的开发当中时不时都会使用到一些,那么如果你想再​​Eclipse​​​当中进行一些​​Python​​​的开发就要安装一下......