【实战】OpenCV+Python项目实战--文档扫描OCR识别

文章目录

      • 1 准备工作(python)
        • 1.1 np.diff用法
        • 1.2 tesseract和pytesseract安装
      • 2代码实现
        • 2.1 文档提取与摆正
        • 2.2 OCR扫描

1 准备工作(python)

1.1 np.diff用法

numpy.diff(a, n=1,axis=-1)

沿着指定轴计算第N维的离散差值
参数:
a:输入矩阵
n:可选,代表要执行几次差值
axis:默认是最后一个

import numpy as np

A = np.arange(2 , 14).reshape((3 , 4))
A[1 , 1] = 8
print('A:' , A)
# A: [[ 2  3  4  5]
#  [ 6  8  8  9]
#  [10 11 12 13]]

print(np.diff(A))
# [[1 1 1]
#  [2 0 1]
#  [1 1 1]]

从输出结果可以看出,其实diff函数就是执行的是后一个元素减去前一个元素。

1.2 tesseract和pytesseract安装

(1)tesseract安装

下载地址:https://digi.bib.uni-mannheim.de/tesseract/
下载其中一个版本,这里下载以下版本为例:tesseract-ocr-w64-setup-v4.0.0.20181030.exe ——双击安装——一直next——更改下载路径(也可以默认路径;如果路径变了,需要配置环境变量,系统变量中配置path;默认路径不需要,因为默认路径已经配置好了环境变量)——打开终端,执行tesseract -v指令,显示安装4.0.0版本(由于配置了环境变量,在任何盘下执行都是可以的,如果不配置,则只能在安装的路径下执行)。

【实战】OpenCV+Python项目实战--文档扫描OCR识别_第1张图片

新建一张图,seasea77.jpg,用于识别

【实战】OpenCV+Python项目实战--文档扫描OCR识别_第2张图片
进入图片所在目录
执行:tesseract seasea77.jpg a 报错(a用于存放输出结果)
【实战】OpenCV+Python项目实战--文档扫描OCR识别_第3张图片
报错解决:
(1)添加tessdata文件夹环境变量
【实战】OpenCV+Python项目实战--文档扫描OCR识别_第4张图片
(2)关闭终端,再执行,出现下图情况即成功,到所在路径,找到并打开a.txt文本查看识别结果。
在这里插入图片描述
报错参考网址:https://blog.csdn.net/u013401853/article/details/78998206

(2)pytesseract安装

直接在终端执行pip install pytesseract 安装
(如果有多个版本python,进入需要安装版本的python目录下,找到并进入Scripts目录,执行pip install pytesseract)

.
注意:此时使用pytesseract,会遇到报错,修改pytesseract.py文件
打开D:\Anaconda3\Lib\site-packages\pytesseract下的pytesseract.py文件
在这里插入图片描述
将tesseract.exe文件所在的目录复制过来。D:\software-installation\tesseract\Tesseract-OCR\tesseract.exe

2代码实现

2.1 文档提取与摆正

2.2 OCR扫描

你可能感兴趣的:(OpenCV系列)