Skip to content

Robust and versatile Optical character recognition(OCR) toolkit designed for comprehensive image processing and information extraction from ID cards for KYC

License

Notifications You must be signed in to change notification settings

siddharthksah/Crazy-OCR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header

GitHub issues GitHub forks GitHub stars GitHub license

Welcome to Crazy-OCR! 👋 Your one-stop destination for all your Optical character recognition(OCR) needs. This repository contains a robust and versatile OCR pipeline I developed while working on ID Cards for KYC. Feel free to explore, clone, or fork!

What's Inside 🔎

This repository houses a comprehensive set of OCR tools that I developed, including (but not limited to) the following features:

  1. Deskewing 📏 - A useful tool for aligning images for better analysis.
  2. Edge detection 📐 - An algorithm designed to detect and highlight edges in your image.
  3. Contour Detection ➿ - A feature that detects and isolates contours in your image.
  4. Rotation ♻️ - A handy tool to adjust the orientation of your images.
  5. Adaptive Thresholding 🔅 - This feature is to adjust the threshold level adaptively to make your image clearer.
  6. Multi image/file format compatibility 📁 - Accepts and processes a wide variety of file formats for your convenience.
  7. Regex matching for FIN & DOB 🔢 - This tool helps in extracting and validating Financial Information Numbers (FIN) and Date of Birth (DOB) details.
  8. Interactive Morphing ✨ - A feature to interactively morph your images.
  9. Interactive Image Intensity correction 💡 - An interactive tool to correct the intensity of your image for better visibility.
  10. Angle Correction 🎚️ - This feature corrects any angular distortions in your images.
  11. Auto Deskew looping through an entire folder of images 🔁 - Automates the deskewing process for a whole folder of images.
  12. ID CARD Image preprocessing 💳 - A specific tool designed for pre-processing of ID card images.

All the files are extensively commented for your better understanding. Please refer to the code comments to know more about how specific files work. 📓

How to Use 🛠️

Clone this repository to your local machine and run the scripts according to your requirements. Each script is independent and self-explanatory. Just make sure you have the required dependencies installed! If you have any issues, feel free to open an issue. 📝

Repository Contents 📁

Here's a brief overview of the various scripts in the repository:

  1. common.py: 🔧 - Commonly used functions and utilities.
  2. crop_id_card_using_edge_contour_detection.py: ✂️ - Script to crop ID cards using edge and contour detection techniques.
  3. deskew_image_from_AC20_C20.py: 📏 - A dedicated script to deskew images sourced from AC20_C20.
  4. deskew_image_rotate_loop.py: 🔄 - Script for deskewing and rotating images in a loop.
  5. deskew_loop_image_folder.py: 📁 - A utility for deskewing all images in a given folder.
  6. id_card_detection_camera.py: 📷 - Script to detect ID cards using a camera.
  7. id_card_dob_extractor.py: 🎂 - A tool to extract DOB from ID cards.
  8. id_card_expiry_date_extractor.py: 📆 - Extracts the expiry date from ID cards.
  9. image_blurriness_detection.py: 🔎 - An image quality analysis tool focused on blurriness detection.
  10. image_deskewer.py: 📐 - A utility for deskewing single images.
  11. interactive_image_morphing.py: ✨ - A tool for interactively morphing images.
  12. loop_through_morphed_images.py: 🔁 - Utility to loop through morphed images.
  13. morphology_operations.py: ➿ - Perform morphology operations for image processing.
  14. pdf2jpg.py: ➡️ - Utility to convert PDF files to JPG.
  15. pdf_page_extractor.py: 📤 - A script to extract specific pages from PDF files.
  16. photo_collage_maker.py: :frame_photo: - A fun utility to create photo collages.
  17. preprocess_image.py: 🎨 - A script for preliminary image processing.
  18. rotate_image_certain_angle.py: 🔄 - A utility to rotate images by a specified angle.
  19. show_image.py: 🖼️ - A script to display images.

Each file is extensively commented for better understanding. Refer to the code comments to know more about how specific files work. 📓

Contributions 🤝

Contributions are always welcomed. 😃 If you have some ideas or improvements, feel free to make a pull request or open an issue to discuss it.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements 🌟

I would like to thank my colleagues and everyone who contributed to making this project possible. ❤️


Enjoy using Crazy-OCR! 🎉 Happy coding! 💻

About

Robust and versatile Optical character recognition(OCR) toolkit designed for comprehensive image processing and information extraction from ID cards for KYC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages