图像识别-身份证识别爬坑记录1

说明

本文主要为参考博客:【python 图像识别】python 身份证号码识别 自己在进行实践过程中遇到的一些问题的记录。

实践环境

anaconda3+python3.6

macos

实践记录

1、在执行这段时候会提示没有reload模块,原因是博主使用python2写的,需要声明编码方式,而python3 中系统默认使用的就是UTF-8编码,所以需要注释掉。

参考:NameError: name 'reload' is not defined 问题

2、在中间定义的几个函数中涉及print输出的,都需要把print后面的内容括号起来

3、TesseractNotFoundError: tesseract is not installed or it's not in your path 

提示:tesseract 不在环境变量中或者没有安装

参考:使用pytesseract识别验证码中遇到的问题

需要修改源码中的 

tesseract_cmd = 'tesseract'

在运行代码的时候,提示没有pytesseract模块,然后安装了这个包,上面链接提示的这个文件理论上应该在这个包里面

在安装包中pytesseract.py中的35行位置

那问题是现在这个路径怎么修改呢?

作者修改好的内容,指定到的是一个exe结尾的文件,也提到需要安装这个tesseract-ocr软件

安装说明:https://github.com/tesseract-ocr/tesseract/wiki

上面提到tesseract提供类似API的功能去实现从图片中提取文字信息,所以这个软件还必须要进行安装。

我这里对应安装的是mac版,参考homebrew的安装方式

没有homebrew的童鞋欢迎参考官网进行安装,mac安装软件神器,用它官网的话来讲是 “The missing package manager for macOS”

安装好了,那么问题是,那么多文件夹,应该把路径对应到那个文件呢?没什么头绪,难道不用像windows系统那样指定 exe文件?

先不管对应到哪个路径,先在来试试安装完tesseract后执行py程序有什么变化

果然,可以跑出来了,不过证件号码没识别出来

在终端试一下执行

tesseract test1.png output

能识别一部分出来,不过效果有点差,身份证号码部分基本能识别出来,其他部分效果就很差了,估计是默认的语料库里面,没中文部分。

既然终端可以直接识别,为什么调用pytesseract.py无法进行识别呢?还是需要设置路径么?

修改一下pytesseract.py中的35行

tesseract_cmd = '/usr/local/Cellar/tesseract/4.0.0/share/tessdata/'

 提示:TesseractNotFoundError: /usr/local/Cellar/tesseract/ is not installed or it's not in your path

原文地址:https://www.cnblogs.com/zheng1076/p/10215802.html