Project for attempting to scan pictures of gas pumps and detect the digits in the cost and fuel amount displays. Operating under the assumption that most pumps use a 7 segment digit display.
- Python
- OpenCV
- NumPy
brew install python
- Using python 2.7.13brew install opencv3
- Using >= OpenCV 3.2.0- Install the OpenCV package into the python site packages following the instructions from the above command output
pip install virtualenv
- Install virtualenv if you haven'tvirtualenv GasPumpOCR_Env
- Create virtual envsource GasPumpOCR_Env/bin/activate
- Activate virtual envpip install -r requirements.txt
- Install dependencies- Write/run the code
deactivate
- When you are done and want the global python env
virtualenvwrapper is a nice set of wrappers around virtualenv that make it easier to use
Install and configure virtualenvwrapper
pip install virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
Create new env
mkvirtualenv GasPumpOCR_Env
Work on a virtual env
workon GasPumpOCR_Env
Install dependencies
pip install -r requirements.txt
Deactivate
deactivate
- playground.py [file_name] - Used to try out different image manipulation variables, can hardcode an image or pass one in via the command line
- train_model.py - Used to take a folder organization of confirmed digits and generate a
knn
training file - test_processing.py - Used to run the trained algorithm on a folder of test images to test accuracy, can also be setup to test all the configurations to determine optimal values
- generate_distorted_images.py - Used to take an image or a folder and run a set of image manipulations to create addtional sample images