Handwritten Digit Recognition using OpenCV, sklearn and Python
Latest commit e4fb1ba May 1, 2016 @bikz05 Added TODO


Digit Recognition

Handwritten Digit Recognition using OpenCV, sklearn and Python | Video

Check out the blog post here for complete notes on how the code works.


  1. cv2
  2. sklearn
  3. skimage
  4. numpy
  5. collections


This repository contains the following files-

  1. generateClassifier.py - Python Script to create the classifier file digits_cls.pkl.
  2. performRecognition.py - Python Script to test the classifier.
  3. digits_cls.pkl - Classifier file for digit recognition.
  4. photo_1.jpg - Test image number 1 to test the classifier
  5. photo_2.jpg - Test image numbre 2 to test the classifier


  • Clone the repository -
git clone https://github.com/bikz05/digit-recognition.git
cd digit-recognition
  • The next step is to train the classifier. To do so run the script generateClassifier.py. It will produce the classifier named digits_cls.pkl.

NOTE - I have already created the digits_cls.pkl, so this step is not necessary.

python generateClassifier.py
  • To test the classifier, run the performRecognition.py script.
python performRecognition.py -c <path to classifier file> -i <path to test image>

ex -

python performRecognition.py -c digits_cls.pkl -i photo_1.jpg


Sample Image 1

Result Number 1

Sample Image 2

Result Number 2


  • Add a CNN Based approach
  • Reject bounding boxes lesser than some area
  • Look into user errors