Logo Lanfrica

UKZN-HonourProjects/Bank-Note-Recognition

Domaine:

digital infrastructure

Type de record:

software
Créateur:
UKZ
Hôte:
A project that classifies South African bank notes into their different denominations, both old and new. # South African Banknote Recognition using Image Processing and Computer Vision **COMP702 Project** **Zuriel Singh (223056184), Mahir Syed (223018507)** **Farha Mustan (223005933), Prashantan Naidoo (223009965)** --- > **Note:** For just running the project see sections 5,6 and 7 in table of contents below ## Table of Contents - 1. Project overview - 2. Pipeline summary - 3. Repository structure - 4. Main files and their roles - recognition_pipeline.py - pipeline/enhancement.py - pipeline/segmentation.py - pipeline/features.py - pipeline/matching.py - pipeline/reference_db.py - 5. Installation - 6 .Dataset setup - 7. How to run the project - 8. Rebuilding the reference database manually - 9. Output files - 10. Experimental versions evaluated - 11. Why Version 2 was selected - 12. Explainability - 13. Known limitations - 14. Future improvements - 15. References --- ## 1. Project overview This project implements a classical image-processing and computer-vision system for recognising South African banknotes. The system classifies an input banknote image into one of five denominations: - `R10` - `R20` - `R50` - `R100` - `R200` The project considers old and new South African banknote designs, as well as both the front and back faces of each note. The system does not use a trained machine-learning model. Instead, it uses a transparent template-similarity pipeline: each input image is segmented, normalised, enhanced, converted into visual descriptors, and compared against clean reference templates. The final selected version in the report is **Version 2**, which uses: - HSV colour histogram - rotation-invariant Local Binary Pattern (LBP) - Zernike moment magnitudes - direct best-template similarity matching - no ORB keypoint matching Final selected result: ```text Overall accuracy: 86.8% (521/600) Segmentation failures: 0 ``` A later spatial-HSV version, Version 6, achieved a very similar result of `86.7% (520/600)`, but Version 2 was selected because it was …