Metadata-Version: 2.1
Name: CaptchaCracker
Version: 0.0.6
Summary: CaptchaCracker is an open source Python library that provides functions to create and apply deep learning models for Captcha Image recognition.
Home-page: https://github.com/WooilJeong/CaptchaCracker
Author: Wooil Jeong
Author-email: wooil@kakao.com
License: MIT
Description: # CaptchaCracker
        
        ![](https://img.shields.io/badge/TensorFlow-2.5.0-red.svg)
        ![](https://img.shields.io/badge/NumPy-1.19.5-blue.svg)
        [![Linkedin Badge](https://img.shields.io/badge/-WooilJeong-blue?style=plastic&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/wooil/)](https://www.linkedin.com/in/wooil/) 
        
        [한국어 문서](https://github.com/WooilJeong/CaptchaCracker/blob/main/README-ko.md)
        
        ## Introduction
        
        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
        ```
        
        
        ## 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
        
        ```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)
        ```
        
        
        ## References
        
        - https://keras.io/examples/vision/captcha_ocr/
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
