基于Tesseract-OCR的验证码识别

本文介绍如何使用Tesseract OCR库进行图像的文字识别,包括图像预处理、二值化及配置环境变量等关键步骤。通过具体代码示例,展示了如何在Python环境中调用Tesseract OCR进行图像识别。
部署运行你感兴趣的模型镜像

先上代码(第二个版本为封装之后的)

必须现在电脑上按照Tesseract-OCR,下载地址:
链接:https://pan.baidu.com/s/1FBA2lXKdQeYGn3gWC3vBoQ
提取码:zaop
https://digi.bib.uni-mannheim.de/tesseract/

from PIL import Image
import pytesseract
from PIL import ImageEnhance

pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
img = Image.open('02.png')
img = img.convert('RGB')
enhancer = ImageEnhance.Color(img)
enhancer = enhancer.enhance(0)
enhancer = ImageEnhance.Brightness(enhancer)
enhancer = enhancer.enhance(2)
enhancer = ImageEnhance.Contrast(enhancer)
enhancer = enhancer.enhance(8)
enhancer = ImageEnhance.Sharpness(enhancer)
img = enhancer.enhance(20)
print(pytesseract.image_to_string(img, lang='eng', config=tessdata_dir_config))

尤其注意下面这2行,必须写上,网上哪些写环境变量啥的,我尝试都不行.

pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'

from PIL import Image
import pytesseract


#二值化图像传入图像和阈值
def erzhihua(image, threshold):
    ''':type image:Image.Image'''
    image = image.convert('L')
    table = []
    for i in range(256):
        if i < threshold:
            table.append(0)
        else:
            table.append(1)
    return image.point(table, '1')


def pic_orc():
    im = Image.open('01.png')
    image = erzhihua(im, 127)
    pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
    tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
    result = pytesseract.image_to_string(image, lang='eng', config=tessdata_dir_config)
    print(result)


if __name__ == '__main__':
    pic_orc()

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值