• 图像识别-身份证识别爬坑记录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

  • 相关阅读:
    网页中添加下划线的方法汇总及优缺点
    git备注
    微信小程序封装年月日时分组件
    微信小程序底部弹窗动画
    微信小程序返回上一页的方法并传参
    微信小程序组件封装
    taro中子父传值
    taro初识一
    reactjs中使用高德地图计算两个经纬度之间的距离
    vue中使用scss
  • 原文地址:https://www.cnblogs.com/zheng1076/p/10215802.html
Copyright © 2020-2023  润新知