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

 更新时间:2026年07月07日 08:47:07   作者:张老师技术栈  
验证码识别是爬虫自动化的常见需求,在很多场景下也很实用——批量识别发票、处理验证码、提取图片中的文字,本文给大家介绍了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图片验证码识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于python实现百度语音识别和图灵对话

    基于python实现百度语音识别和图灵对话

    这篇文章主要介绍了基于python实现百度语音识别和图灵对话,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python控制台打印log输出重复的解决方法

    python控制台打印log输出重复的解决方法

    在学习了python的函数式编程后,又接触到了logging这样一个强大的日志模块。这篇文章主要给大家介绍了关于python控制台打印log输出重复的解决方法,需要的朋友可以参考下
    2021-05-05
  • 将django项目部署到centos的踩坑实战

    将django项目部署到centos的踩坑实战

    Django部署到Cenos需要安装大量的依赖包, 有很多坑需要踩,这篇文章主要给大家介绍了关于将django项目部署到centos踩坑的相关资料,需要的朋友可以参考下
    2021-07-07
  • Python数据分析numpy数组的3种创建方式

    Python数据分析numpy数组的3种创建方式

    这篇文章主要介绍了Python数据分析numpy数组的3种创建方式,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • pandas把所有大于0的数设置为1的方法

    pandas把所有大于0的数设置为1的方法

    今天小编就为大家分享一篇pandas把所有大于0的数设置为1的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 使用Matlab将矩阵保存到csv和txt文件

    使用Matlab将矩阵保存到csv和txt文件

    这篇文章主要介绍了使用Matlab将矩阵保存到csv和txt文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python进程间通信 multiProcessing Queue队列实现详解

    Python进程间通信 multiProcessing Queue队列实现详解

    这篇文章主要介绍了python进程间通信 mulitiProcessing Queue队列实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 一维信号小波去噪原理解析及python实现方式

    一维信号小波去噪原理解析及python实现方式

    这篇文章主要介绍了一维信号小波去噪原理解析及python实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 从入门到实战详解Python压缩图片的完整方法

    从入门到实战详解Python压缩图片的完整方法

    这篇文章主要为大家详细介绍了Python实现压缩图片的常见方法,主要是Python库Pillow,OpenCV及tinify,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-06-06
  • Python实现图片识别加翻译功能

    Python实现图片识别加翻译功能

    这篇文章主要介绍了Python使用百度AI接口实现图片识别加翻译功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12

最新评论