zoukankan      html  css  js  c++  java
  • tesseract配置与文字识别(19)

    1. 安装tesseract

    OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。

    pip install pytesseract

    继续安装tesseract.exe

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

    2、配置环境变量

    为了在全局使用方便,比如安装路径为C:Program Files (x86)Tesseract-OCRTesseract-OCR,将该路径添加到环境变量的path中.

    3 新建tessdata文件

    4 新建系统环境变量

     

    官网 :http://tesseract.gg/

    5 图片识别

    from PIL import Image
    import pytesseract
    
    #Image去除噪点 img
    =Image.open('tim.png') text=pytesseract.image_to_string(img) print(text)

    结果

    6 基于opencv的验证码识别

    import cv2 as cv
    from PIL import Image
    import pytesseract
    
    
    
    def recognize_text(src):
        gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)
        blurer=cv.GaussianBlur(gray,(9,9),0)
        ret,binary=cv.threshold(blurer,0,255,cv.THRESH_BINARY_INV|cv.THRESH_OTSU)
        res=cv.bitwise_not(binary)
        cv.imshow('res', res)
        #开操作
        kernel=cv.getStructuringElement(cv.MORPH_RECT,(2,2))
        bin=cv.morphologyEx(binary,cv.MORPH_OPEN,kernel)
    
        bin2=cv.morphologyEx(bin,cv.MORPH_CLOSE,kernel)
        cv.imshow('bin',bin2)
    
        textImage=Image.fromarray(bin2)
        word=pytesseract.image_to_string(textImage)
        print('识别出来:',word)
    
    
    src=cv.imread('./numcode.jpg')
    cv.imshow('before',src)
    recognize_text(src)
    cv.waitKey(0)
    cv.destroyAllWindows()

    结果

    学习的素材

  • 相关阅读:
    windows 7 wifi热点配置
    Java中的try catch finaly先后调用顺序
    redis php扩展
    mysql索引
    cmd操作数据库的常用命令
    php ajax解决跨越问题
    git常用命令
    php,redis分布式锁防并发
    php商城下单,可以购买多件商品,redis防高并发
    php商城秒杀,redis防高并发
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/10712910.html
Copyright © 2011-2022 走看看