Skip to content

Python GUI for handwriting recognition CNN with 80% accuracy trained on the EMNIST dataset with detailed documentation included.

Notifications You must be signed in to change notification settings

SahilG25/MachineLearningHandwritingRecognitionTensorflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Handwriting Recognition with CNN

Introduction

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.

Libraries Used

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.

How to Use

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.

More Information

For more information on the development process of the neural network, see the MLdocumentation.docx file in the repository.

Releases

No releases published

Packages

No packages published