Skip to content

SIFFRINP/handwritting_math_calculation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

handwritting_math_calculation

This project is a handwritten math solver. It is capable of solving basic calculus composed of addition, substraction, multiplication and division.

Example of the program running. Example of the program running.
Examples of the program running.

About the project

This project combines a graphical interface with an Artificial Intelligence model to recognize and compute handwritten mathematical expressions.

To train our handwritten recognition model, we used this dataset published on Kaggle by Xai Nano.

Main features

  • Graphical user interface written using pygame.
  • Detection and isolation of symbols on the interface using opencv.
  • AI model trained to recognize numbers between 0 and 9 and mathematical operators (+, -, *, /).
  • In real time resolution of handwritten mathematical expressions.

Technologies used

python. pygame. keras. tensorflow. keras. keras.

Installation

Before trying to use our program, make sure that you have python 3.12+ installed on your machine. Note that python 3.13 is not compatible with our program since tensorflow has not been ported to this version yet.

Clone the repo

Use those commands to download the project and to move into the project folder named handwritting_math_calculation.

git clone https://github.com/SIFFRINP/handwritting_math_calculation.git
cd handwritting_math_calculation

Install requirements

Our program use three main libraries which are pygame, tensorflow and opencv. To install them run this command.

pip install -r requirements.txt

Execution

Once every dependencies are installed, you can run the program using this command.

python main.py

Tweaks

You can tweak the behaviour of the program by changing values in the configuration.py. For example, you can change the level of debugging information by changing the DEBUG variable.

# DEBUG LEVELS: 
# - 0: No debug info.
# - 1: Only print statements. 
# - 2: Images processing debug. 
DEBUG = 0

Licence

  • SIFFRINP & romainflcht

About

This project allow you to solve basic hand written equations using a trained AI model.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages