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:
Output (only one of 12 small images):
-
'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:
Some stages of the processing:
Step 1:
Step 2:
Step 3:
Result after segmentation: