{"id":23327820,"url":"https://github.com/axelseancp/captcha-reader","last_synced_at":"2026-05-05T23:32:24.585Z","repository":{"id":246406738,"uuid":"795102505","full_name":"AxelSeanCP/Captcha-Reader","owner":"AxelSeanCP","description":"Small project to read captcha image","archived":false,"fork":false,"pushed_at":"2024-07-13T16:25:19.000Z","size":10204,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T07:53:43.881Z","etag":null,"topics":["machine-learning","opencv-python","python","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AxelSeanCP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-02T15:32:38.000Z","updated_at":"2024-09-28T08:47:15.000Z","dependencies_parsed_at":"2024-06-27T20:58:46.585Z","dependency_job_id":"bb7c8362-26a7-47d6-96b8-3fa112326de0","html_url":"https://github.com/AxelSeanCP/Captcha-Reader","commit_stats":null,"previous_names":["axelseancp/captcha-reader"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AxelSeanCP/Captcha-Reader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxelSeanCP%2FCaptcha-Reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxelSeanCP%2FCaptcha-Reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxelSeanCP%2FCaptcha-Reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxelSeanCP%2FCaptcha-Reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AxelSeanCP","download_url":"https://codeload.github.com/AxelSeanCP/Captcha-Reader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxelSeanCP%2FCaptcha-Reader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32672620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","opencv-python","python","tensorflow"],"created_at":"2024-12-20T20:33:20.672Z","updated_at":"2026-05-05T23:32:24.570Z","avatar_url":"https://github.com/AxelSeanCP.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Captcha-Reader\n![cover image](dataset-cover.png)\n\n# OpenCV Approach\nusing opencv to split the images into individual letters so the model will train on a letter image one by one instead of a whole captcha.\n\n## Dataset\nDataset used in this project: [captcha_images.zip](https://drive.google.com/file/d/1VyaFnIwxNPGkJirxbVhLsTLMVV-33Kb_/view?usp=sharing)\n- dataset has 10k images of 4 letters captcha\n- dataset has no labels\n- dataset is obtained through this tutorial: [click here](https://medium.com/@ageitgey/how-to-break-a-captcha-system-in-15-minutes-with-machine-learning-dbebb035a710)\n\n## Files\n- predict_images: folder containing images from prediction result\n- opencv_captcha_reader.ipynb: notebook file to load and preprocess image also to train model\n- captcha_reader_testing.ipynb: notebook file to get prediction from captcha images\n- display_image.ipynb: notebook file to display image\n- captcha_model.keras: trained model\n- model_labels.dat: labels extracted from the processed images.\n\n## Result\n![predict_1](OpenCV/predict_images/bhfw.png)\n![predict_2](OpenCV/predict_images/crcg.png)\n![predict_3](OpenCV/predict_images/nl2u.png)\n![predict_4](OpenCV/predict_images/q5cr.png)\n\n## Conclusion\nThe model is able to give correct prediction because the data preprocessing makes the project simpler because the model only need to train on one letter per image which have 32 label.\n\n# Tensorflow Approach\nUsing a TensorFlow model without data preprocessing which causes the model to have complex structure since the data is not preprocessed correctly and causing each image to have 6 * 36 label of alphanumeric.\n\n## Dataset\nDataset used in this project: [kaggle_captcha_dataset](https://www.kaggle.com/datasets/johnbergmann/captcha-image-dataset/code)\n- dataset has 10k images of 6 letters captcha\n- dataset has no labels\n\n## Files\n- captcha-images: images of example captcha\n- predict_images: images of predicted example captcha\n- captcha-reader.ipynb: notebook file to train model\n\n## Result\n![predict_1](TensorFlow/predict_images/predict_1.png)\n![predict_2](TensorFlow/predict_images/predict_2.png)\n![predict_3](TensorFlow/predict_images/predict_3.png)\n\n## Conclusion\nThe model in the **TensorFlow Approach** need to be improved or need better data preprocessing technique to be able to get more accurate prediction. Unfortunately the dataset isn't able to be processed correctly like in the **OpenCV Approach**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelseancp%2Fcaptcha-reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxelseancp%2Fcaptcha-reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelseancp%2Fcaptcha-reader/lists"}