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

6418cfa Β· Jul 28, 2023

History

59 Commits
Apr 15, 2022
Jul 28, 2023
Apr 15, 2022
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023

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