Python使用Pillow + OCR實現(xiàn)圖片驗證碼識別功能
更新時間:2026年07月07日 08:47:07 作者:張老師技術棧
驗證碼識別是爬蟲自動化的常見需求,在很多場景下也很實用——批量識別發(fā)票、處理驗證碼、提取圖片中的文字,本文給大家介紹了Python如何使用Pillow + OCR實現(xiàn)圖片驗證碼識別功能,需要的朋友可以參考下
驗證碼識別是爬蟲自動化的常見需求,在很多場景下也很實用——批量識別發(fā)票、處理驗證碼、提取圖片中的文字。
一、安裝
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實現(xiàn)圖片驗證碼識別功能的文章就介紹到這了,更多相關Python Pillow + OCR圖片驗證碼識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式
這篇文章主要介紹了Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07
Python進程間通信 multiProcessing Queue隊列實現(xiàn)詳解
這篇文章主要介紹了python進程間通信 mulitiProcessing Queue隊列實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09

