zoukankan      html  css  js  c++  java
  • OCR识别-python版(一)

    需求:识别图片中的文字信息
    环境:windows系统

    开发语言:python

    使用工具类:1.pyocr
          2.PIL
          3.tesseract-ocr

    步骤:

    1.pyocr

    网络通直接使用命令:
    pip install pyocr

    网络不通,转至https://pypi.python.org/pypi/pyocr/0.4.1下载安装

    2.安装pil
    网络通直接使用命令:
    pip install PIL

    网络不通,转至http://www.pythonware.com/products/pil/index.htm下载安装

    3.安装tesseract-ocr

    http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe

    exe文件,下载后直接安装,建议默认安装过程中的选项,安装目录默认C:Program Files (x86)Tesseract-OCR,(尝试安装D盘后,在cmd中调用可以,但是在python中会出现找不到tesseract的配置目录的问题,后续再研究)

    代码:

    # coding=utf-8
    __author__ = 'syq'
    
    #https://github.com/tesseract-ocr
    import sys
    
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    import os
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    try:
        from pyocr import pyocr
        from PIL import Image
    except ImportError:
        print '模块导入错误,请使用pip安装,pytesseract依赖以下库:'
        print 'http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil'
        print 'http://code.google.com/p/tesseract-ocr/'
        raise SystemExit
    tools = pyocr.get_available_tools()[:]
    if len(tools) == 0:
        print("No OCR tool found")
        sys.exit(1)
    print("Using '%s'" % (tools[0].get_name()))
    print tools[0].image_to_string(Image.open('D:\123.png'),lang='eng')
    print tools[0].image_to_string(Image.open('D:\3434.png'),lang='chi_sim')
    #print tools[0].image_to_string(Image.open('D:\3535.png'),lang='chi_sim')

    文件内容:

    123.png

    3434.png

    输出:

    Using 'Tesseract (sh)'
    7364
    求彰只另UoCR第 1代

    可以看到,在使用英文字库(eng)情况下,对数字识别挺准确的,但是在使用中文简体字库(chi_sim)情况下,对中文文字识别结果有点不尽人意。

    在整个过程中可能会遇到的问题

    1.如果控制台直接输出:“No OCR tool found”,说明未成功安装tesseract-ocr,debug查看get_available_tools,在该方法中回去查看本机已经安装有的ocr识别库,有三种,

    libtesseract,
    tesseract,
    cuneiform,

     本文使用的是第二种tesseract,

    tesseract具体安装请转至。

    2.在识别带中文的图片,会遇到报“allow_blob_division”的错误,

    需要下载tesseract-ocr的中文库,地址:https://codeload.github.com/tesseract-ocr/tessdata/zip/master,里面包含tesseract多有的文字库,chi_sim.traineddata为简体中文库,将该文件放至C:Program Files (x86)Tesseract-OCR essdata目录下接下来的具体处理方法,转至:http://www.cnblogs.com/syqlp/p/5460971.html

  • 相关阅读:
    修改了/etc/fstab之后出现登录密码输入之后又返回登录界面的问题
    设计模式 之 享元模式
    设计模式 之 组合模式
    设计模式 之 桥接模式
    设计模式 之 外观模式
    设计模式 之 代理模式
    T-SQL 理解SQL SERVER中的分区表(转)
    C# 读取文件中的sql语句 创建数据库以及表结构
    java Web 监听器Listener详解
    java Web 过滤器Filter详解
  • 原文地址:https://www.cnblogs.com/syqlp/p/5462459.html
Copyright © 2011-2022 走看看