I have developed two convolutional neural networks (CNNs) for handwriting recognition, one using my own implementation and the other using TensorFlow. The final CNN is demonstrated using Tkinter, where you can enter any handwritten text (preferably using MS Paint) and my program will output a .txt file using the CNN.
The full documentation for my product, including citations and inspirations, can be found in the repository.
Note: For development, I highly recommend the Spyder IDE (Anaconda), especially if you are reformatting the MNIST dataset as its variable explorer is very useful.
- OpenCV (cv2): To install, run
pip install cv2
in the command prompt. - Tkinter (part of the standard library)
- NumPy: To install, run
pip install numpy
in the command prompt. - Pillow (PIL): To install, run
pip install pillow
in the command prompt. - SciPy: To install, run
pip install scipy
in the command prompt. - Matplotlib: To install, run
pip install matplotlib
in the command prompt. - Tensorflow: To install, run
pip install tensorflow
in the command prompt.
To use the handwriting recognition program, run the finalGUI.py
file using an IDE (for some reason it doesn't run if you click on the .py file, so open the file in an IDE first and then run it). This will open the GUI where you can input your handwritten text.
For more information on the development process of the neural network, see the MLdocumentation.docx
file in the repository.