Skip to content

asdesilva3/BizCardX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

BizCardX: Business Card Data Extraction with OCR

Table of Contents

  1. Project Overview
  2. Technologies Used
  3. Features
  4. Workflow
  5. Approach
  6. Testing
  7. Results
  8. Acknowledgments

Project Overview

BizCardX is a Streamlit application designed to extract relevant information from business cards uploaded by users. The application utilizes optical character recognition (OCR) technology to parse the uploaded images and extract details such as company name, cardholder name, designation, contact information, and address.

Technologies Used

  • Python
  • Streamlit
  • EasyOCR
  • MySQL

Features

  • User-friendly interface for uploading business card images.
  • Extraction of information using EasyOCR.
  • Display of extracted data in a clean and organized manner.
  • Integration with a database to store extracted information.
  • CRUD (Create, Read, Update, Delete) functionality for managing stored data.
  • Continuous improvement through bug fixes and feature enhancements.

Workflow

BizCardX_New

Approach

  1. Install Required Packages: Install Streamlit, easyOCR, and a database management system like SQLite or MySQL.

    pip install streamlit 
    pip install easyocr 
    pip install mysql-connector-python
    
  2. Design User Interface: Create an intuitive UI using Streamlit with widgets like file uploader, buttons, and text boxes.

  3. Implement Image Processing and OCR: Using easyOCR to extract information from the uploaded business card image.

    import easyocr
       
    reader = easyocr.Reader(['en'])
    result = reader.readtext(uploaded_file)
    
  4. Display Extracted Information: Present the extracted data in a clean and organized manner in the Streamlit GUI using tables, text boxes, and labels.

  5. Database Integration: Store the extracted information and uploaded images in a database using SQL queries for table creation, data insertion, retrieval, update, and deletion.

    import mysql.connector
    
    # Establish MySQL connection
    connection = mysql.connector.connect(
                            user='username',
                            password='password',
                            host='localhost',
                            database='bizcard_db')
    
  6. Test the Application: Thoroughly test the application locally using

    streamlit run app.py
    
    

Results

The result is a Streamlit application that allows users to upload business card images, extract relevant information, and store it in a database. The extracted data includes company name, cardholder name, designation, contact details, and address. The application provides a simple and intuitive user interface for efficient data management. It is scalable, maintainable, and extensible, meeting the needs of businesses and individuals for managing business card information effectively.

Acknowledgments

  • Special thanks to the creators of Streamlit and easyOCR for providing the tools necessary for this project.

Releases

No releases published

Packages

No packages published

Languages