/CoinCounter

This is a coin counter using digital image processing.

Primary LanguageTeX

CoinCounter

This is a coin counter using digital image processing. The whole project was developed in C++ with the library OpenCV 2.4.9.

Basically, the project is divided in four modules:

  • 'segmentador': breaks a picture with a lot of coins in small images, each one with only one coin in the center. Example of input and output:

Input: input1

Output (only one of 12 small images): output2

  • 'calibrador': uses part of the small images generated by previous module to train a Artificial Neural Network (ANN), in order to recognize and classify the coins correctly. For this, the descriptors of each image containing a coin are the following ones:

    • Width and height of the image
    • Histogram of the hue channel of the image
    • 7 hu moments
  • 'validator': uses other small images obtained by the first module in order to validate the classification of the ANN.

  • 'contador': using the results of the 'calibrador', it reads a picture containing some several coins and count the amount of money there. Example of execution:

Input: input2

Some stages of the processing:

Step 1:

processing1

Step 2:

processing2

Step 3:

processing3

Result after segmentation:

processing4

Output (it counted R$ 7,00 - Brazilian Real): output2