# captchacracker **Repository Path**: mirrors/captchacracker ## Basic Information - **Project Name**: captchacracker - **Description**: CaptchaCracker 是一个开源的 Python 库,它提供了创建和应用深度学习模型来识别 Captcha 图像的功能 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: https://www.oschina.net/p/captchacracker - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 3 - **Created**: 2021-12-31 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Open source Python Deep Learning low-code library for generating captcha image recognition models
🚀`pip install CaptchaCracker --upgrade` [![PyPI Latest Release](https://img.shields.io/pypi/v/captchacracker.svg)](https://pypi.org/project/captchacracker/) ![](https://img.shields.io/badge/TensorFlow-2.5.0-red.svg) ![](https://img.shields.io/badge/NumPy-1.19.5-blue.svg) [![Downloads](https://static.pepy.tech/badge/captchacracker)](https://pepy.tech/project/captchacracker) [한국어 문서](https://github.com/WooilJeong/CaptchaCracker/blob/main/README-ko.md)

## CaptchaCracker CaptchaCracker is an open source Python library that provides functions to create and apply deep learning models for Captcha Image recognition. You can create a deep learning model that recognizes numbers in the Captcha Image as shown below and outputs a string of numbers, or you can try the model yourself. ### Input ![png](https://github.com/WooilJeong/CaptchaCracker/raw/main/assets/example01.png) ### Output ``` 023062 ``` ## Web Demo Integrated into [Huggingface Spaces 🤗](https://huggingface.co/spaces) using [Gradio](https://github.com/gradio-app/gradio). Try out the Web Demo: [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/akhaliq/CaptchaCracker)
## Installation ```bash pip install CaptchaCracker ```
## Dependency ``` pip install numpy==1.19.5 tensorflow==2.5.0 ```
## Examples ### Train and save the model Before executing model training, training data image files in which the actual value of the Captcha image is indicated in the file name should be prepared as shown below. - [Download Sample Dataset](https://github.com/WooilJeong/CaptchaCracker/raw/main/sample.zip) ![png](https://github.com/WooilJeong/CaptchaCracker/raw/main/assets/example02.png) ```python import glob import CaptchaCracker as cc # Training image data path train_img_path_list = glob.glob("../data/train_numbers_only/*.png") # Training image data size img_width = 200 img_height = 50 # Creating an instance that creates a model CM = cc.CreateModel(train_img_path_list, img_width, img_height) # Performing model training model = CM.train_model(epochs=100) # Saving the weights learned by the model to a file model.save_weights("../model/weights.h5") ``` ### Load a saved model to make predictions - input: image file path ```python import CaptchaCracker as cc # Target image data size img_width = 200 img_height = 50 # Target image label length max_length = 6 # Target image label component characters = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'} # Model weight file path weights_path = "../model/weights.h5" # Creating a model application instance AM = cc.ApplyModel(weights_path, img_width, img_height, max_length, characters) # Target image path target_img_path = "../data/target.png" # Predicted value pred = AM.predict(target_img_path) print(pred) ``` ### Load a saved model to make predictions - input: image bytes object ```python import CaptchaCracker as cc # Target image data size img_width = 200 img_height = 50 # Target image label length max_length = 6 # Target image label component characters = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'} # Model weight file path weights_path = "../model/weights.h5" # Creating a model application instance AM = cc.ApplyModel(weights_path, img_width, img_height, max_length, characters) # Predicted value target_img_bytes = "..." pred = AM.predict_from_bytes(target_img_bytes) print(pred) ```
## References - https://keras.io/examples/vision/captcha_ocr/
## Contributors