This project is a handwritten math solver. It is capable of solving basic calculus composed of addition, substraction, multiplication and division.
Examples of the program running.
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.
- 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.
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.
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_calculationOur program use three main libraries which are pygame, tensorflow and opencv. To install them run this command.
pip install -r requirements.txtOnce every dependencies are installed, you can run the program using this command.
python main.pyYou 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- SIFFRINP & romainflcht