zoukankan      html  css  js  c++  java
  • Tesseract的简单使用

    tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/

    添加中文的识别库:

    https://github.com/tesseract-ocr/tessdata/find/master

    这个网址中下载chi_sim.traineddata,下载后放到Tesseract-OCR essdata文件夹内。

    设置环境变量:

    安装完成后在Windows下把tesseract.exe所在的路径添加到PATH环境变量中。

    另外一个环境变量我自己电脑中是没有添加,也可以正常运行程序。做个参考:

    **********************************************************************************************************

    在使用tesseract命令行进行测试时,报以下的错误

    Error opening data file Program Files (x86)Tesseract-OCR essdata/eng.traineddata
    Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
    Failed loading language 'eng'
    Tesseract couldn't load any languages!
    Could not initialize tesseract.

    报错是意思是缺少环境变量TESSDATA_PREFIX,导致无法加载任何语言,就不能初始化tesseract。

    解决的方法也很简单,在环境变量中,添加一个变量名为TESSDATA_PREFIX,变量值为teseractdata目录地址。

    **************************************************************************************************************************

    在命令行中使用tesseract识别图像:

    如果想要在cmd下能够使用tesseract命令,那么需要把tesseract.exe所在的目录放到PATH环境变量中。然后使用命令:tesseract 图片路径 文件路径
    示例:

    tesseract a.png a
    

    那么就会识别出a.png中的图片,并且把文字写入到a.txt中。

    如果识别中文的,需要添加个参数:

    tesseract a.png a -l eng 默认的是eng,中文的就改成chi_sim。

    关于快速的在当前文件夹内打开cmd的方法,是按住shift键,然后右键,就可以有“在此处打开命令行窗口”的选项,并且直接定位到当前文件夹内。

    在代码中使用tesseract识别图像:

    pip install pytesseract安装

    使用代码:

    from PIL import Image
    import pytesseract
    
    text = pytesseract.image_to_string(Image.open('captcha.png') , lang='chi_sim')
    print(text)

    从网页中下载图片的简单代码:

    from urllib import request
    
    img_url = 'https://u.baidu.com/ucweb/?module=Reguser&controller=reg&action=image&appid=12&_=1551428462677'
    request.urlretrieve(img_url, 'captcha.png')
  • 相关阅读:
    异常测试之Socket网络异常
    关于文件的INode与Java中的文件操作接口
    java程序中获取kerberos登陆hadoop
    团队游戏的那些事
    细说内测
    如何搭建视频转码集群、播放服务器
    PropertyPlaceHolderConfigurer中的location是不是用错了?
    浅谈java classloader
    foreach写失效的问题
    ArcGIS中的WKID
  • 原文地址:https://www.cnblogs.com/weiwei2016/p/10457863.html
Copyright © 2011-2022 走看看