Skip to content

ps-nithin/pyrebel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyrebel

A pure python library that implements abstraction of data.

Installation

From PyPI

python3 -m pip install --upgrade pyrebel

From source

git clone https://github.com/ps-nithin/pyrebel
cd pyrebel
python3 -m pip install .

Running demo programs

Demo programs are found in 'demo/' directory.
cd demo/

1. Image abstraction demo

Usage:
python3 pyrebel_main.py --input <filename.png>

Optional arguments
--threshold <value> Selects the threshold of abstraction. Defaults to 5.

For example,
python3 pyrebel_main.py --input images/abc.png --threshold 10

The output is written to 'output.png'

2. Edge detection demo

This is a demo of edge detection achieved using data abstraction.
python3 pyrebel_main_edge.py --input <filename>

For example,
python3 pyrebel_main_edge.py --input images/wildlife.jpg

The output is written to 'output.png'. Below is a sample input image,


Below is the output image,

3. Pattern recognition demo

This is a demo of pattern recognition achieved using data abstraction.

  1. Learning
    Usage: python3 pyrebel_main_learn.py --learn /path/to/image/directory/
    For example running python3 pyrebel_main_learn.py --learn images/train-hand/ learns all the images in the directory and links the filename with the signatures.

  2. Recognition
    Usage: python3 pyrebel_main_learn.py --recognize <filename>
    For example running python3 pyrebel_main_learn.py --recognize images/recognize.png displays the symbols recognized in the file 'images/recognize.png'.

To reset the knowledge base just delete file 'know_base.pkl' in the current working directory. The program expects a single pattern in the input image. Otherwise, a pattern has to be selected by changing variable 'blob_index' accordingly.

Docs here

Read more about abstraction here

Let the data shine!