Roujack/mathAI
A photo-based math problem solver that uses a CNN for character recognition and compiler techniques to parse and evaluate arithmetic expressions.

This project implements a complete pipeline for solving math problems from images. It uses OpenCV for image preprocessing and character cropping, a TensorFlow-based LeNet5 convolutional neural network trained on the CHROME dataset for digit and character recognition, and compiler techniques including operator precedence parsing and recursive descent parsing to organize recognized characters into mathematical expressions. Attribute grammars are then used to evaluate the expressions, with results visualized using matplotlib.