python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Pillow + OCR图片验证码识别

Python使用Pillow + OCR实现图片验证码识别功能

作者:张老师技术栈

验证码识别是爬虫自动化的常见需求,在很多场景下也很实用——批量识别发票、处理验证码、提取图片中的文字,本文给大家介绍了Python如何使用Pillow + OCR实现图片验证码识别功能,需要的朋友可以参考下

验证码识别是爬虫自动化的常见需求,在很多场景下也很实用——批量识别发票、处理验证码、提取图片中的文字。

一、安装

pip install pytesseract Pillow
# 还需要安装 Tesseract-OCR 引擎
# Windows 下载地址:https://github.com/UB-Mannheim/tesseract/wiki

二、基础图片处理

1. 灰度化与二值化

from PIL import Image, ImageFilter, ImageEnhance

def preprocess_image(image_path):
    """预处理验证码图片"""
    img = Image.open(image_path)

    # 灰度化
    img = img.convert('L')

    # 增强对比度
    enhancer = ImageEnhance.Contrast(img)
    img = enhancer.enhance(2.0)

    # 二值化(阈值 127)
    img = img.point(lambda x: 255 if x > 127 else 0)

    # 去噪
    img = img.filter(ImageFilter.MedianFilter(size=3))

    return img

2. 简单验证码识别

import pytesseract

def recognize_captcha(image_path):
    img = preprocess_image(image_path)
    text = pytesseract.image_to_string(img, config='--psm 7')
    return text.strip()

到此这篇关于Python使用Pillow + OCR实现图片验证码识别功能的文章就介绍到这了,更多相关Python Pillow + OCR图片验证码识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文