Code Monkey home page Code Monkey logo

intummadee / cardcheck Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 250.63 MB

Apply Computer Vision to create a system for checking names for exams by checking cards instead of signing and displays the names of students and their exam entry status. 💳

Python 60.83% HTML 39.17%
computer-vision image-processing jquery mongodb ocr ocr-python opencv pandas pillow python tesseract tesseract-ocr bootstrap django-admin django-framework django-project mongodb-atlas

cardcheck's Introduction

VisionID-Check

COMPUTER VISION | 3rd Year Term 2/2023

Getting Started

To get started, follow these steps:

  1. Clone this repository using git clone https://github.com/Intummadee/CardCheck.git
  2. Install dependencies using npm install
  3. Run the app using npm start

Tech Stack :

  • Frontend: HTML, CSS, Bootstrap,
  • Backend: Python, Django
  • Framework: Django
  • Library: Opencv, Pandas, JQuery
  • Database: MongoDB Atlas, Django Database
  • Version Control: Git and GitHub
  • Code Editor and tools: VS Code

🕊️ Initialize

  • create Environment python -m venv env

  • activate Environment --> 👉 env\Scripts\activate If you can run it, there will be the word (env) in front of PS in the terminal.

  • create app.py

🛥️ Dependency

Scientific Computing and Mathematics

  • python -m pip install numpy
  • python -m pip install scipy

Data Visualization

  • python -m pip install matplotlib

Computer Vision

  • python -m pip install opencv-python
  • python -m pip install opencv-contrib-python

Optical Character Recognition (OCR)

  • pip install pytesseract : a Python wrapper for Google's Tesseract-OCR Engine, used for optical character recognition (OCR).

Document Generation

  • pip install reportlab : a library for generating PDF documents.

Excel Data Handling

  • python -m pip install pandas : a powerful data manipulation and analysis library (useful for working with Excel files as well)
  • python -mpip install openpyxl : a library specifically for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files

Environment Management

  • python -m pip install python-dotenv : allows you to load environment variables from a .env file into the environment

File Handling and PDF Manipulation

  • pip install pymupdf Pillow : Installs PyMuPDF (for working with PDF files) and Pillow (for image processing tasks)

MongoDB Database

  • python -m pip install "pymongo[srv]"
  • ⚠️ Option, if WARNING is given, update the version. python -m pip install --upgrade pip

🍫 Install Django python -m pip install Django

  • Option command to check whether django is installed or not. django-admin --version --> Run it and get 4.2.10

  • Create a project name my_tennis_club django-admin startproject my_tennis_club


🪼 How to Run !!!

env\Scripts\activate
cd my_tennis_club  (Don't forget that you must be in my_tennis_club)
python manage.py runserver
http://127.0.0.1:8000/  (Open this path)

Admin Page

  • To view Django's user information, password and account name are in the .env file.
http://127.0.0.1:8000/admin
  • Command to create an admin account to view user information. The password must meet the conditions that Django requires only. Otherwise, it won't be able to be used when created.
python manage.py createsuperuser

MongoDB

https://account.mongodb.com/account/login?n=https%3A%2F%2Fcloud.mongodb.com%2Fv2%2F65d359c147d94142e1d9fb54&nextHash=%23metrics%2FreplicaSet%2F65d35a0f89492b3df0336104%2Fexplorer%2Fpymongo_demo%2Fdemo_collection%2Ffind&signedOut=true

Source : https://www.youtube.com/watch?v=GJCKIGeK3qc

python -m pip install "pymongo[srv]"

Tesseract , How to read Thai text

Howto -> https://gist.github.com/dogterbox/7c0ed7387a388f5e13afd00f0cb8cd50
Download the raw file of this website. -> https://github.com/tesseract-ocr/tessdata_best/blob/main/tha.traineddata into storage \Tesseract-OCR\tessdata folder


FrontEnd site

https://github.com/atisawd/boxicons

https://boxicons.com/

https://css-loaders.com/progress/


Extension recommended to be downloaded in Vs code for reading comments.

  • Better-comments
  • Comment Styler

Limitations

  1. If the uploaded contacts file is an image, the font size in the file should be greater than 18.
  2. If the name is drawn from the card The resulting image must be clear. There is enough light. The distance from the camera is not too much or too little.
  3. Shiny cards, such as ID cards, should not be photographed with too much shadow. Because the program will not capture text that has shadows. (Corrected with the Contrast Limited Adaptive Histogram Equalization (CLAHE) technique to adjust the light in the image better)
  4. The quality of the camera also affects the capture of names.

Ref

  For using computer vision OCR to detect text in images. https://github.com/UB-Mannheim/tesseract/wiki

  MongoDB and Python https://www.youtube.com/watch?v=GJCKIGeK3qc

  How to Install Tesseract OCR on Windows and use it with Python https://www.youtube.com/watch?v=GMMZAddRxs8

  Stackoverflow https://stackoverflow.com/questions/37745519/use-pytesseract-ocr-to-recognize-text-from-an-image https://stackoverflow.com/questions/21104664/extract-all-bounding-boxes-using-opencv-python

  Python – Extract names from string with python Regex https://itecnote.com/tecnote/python-extract-names-from-string-with-python-regex/

  Python | Similarity metrics of strings https://www.geeksforgeeks.org/python-similarity-metrics-of-strings/

  using SequenceMatcher.ratio() https://www.geeksforgeeks.org/python-similarity-metrics-of-strings/

  alertifyjs https://alertifyjs.com/


All Repositories

cardcheck's People

Contributors

intummadee avatar

Stargazers

 avatar

Watchers

Kostas Georgiou avatar  avatar

cardcheck's Issues

OpenCV ไม่สามารถสร้างหน้าต่างเพื่อแสดงผลภาพได้

https://github.com/Intummadee/CardCheck/blob/a7d18852b1a2aedbb00951c2caed0b3d16ef3ebf/my_tennis_club/cardCheck/views.py#L1112

cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1284: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.