Skip to content

Open source Python Deep Learning low-code library for generating captcha image recognition models

License

Notifications You must be signed in to change notification settings

WooilJeong/CaptchaCracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open source Python Deep Learning low-code library for generating captcha image recognition models
🚀pip install CaptchaCracker --upgrade

PyPI Latest Release Downloads

한국어 문서


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

Output

023062

Web Demo

Integrated into Huggingface Spaces 🤗 using Gradio. Try out the Web Demo: Hugging Face Spaces


Installation

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.

png

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
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
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


Contributors


About

Open source Python Deep Learning low-code library for generating captcha image recognition models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages