Logo Lanfrica

KgFix/South-African-Bank-Notes-Recognition

Record type:

project
Creator:
KgF
Host:
South African Bank Notes Recognition notebook for my COMP702 group Project # COMP702 — South African Bank Note Recognition **Course:** Image Processing and Computer Vision **Institution:** University of KwaZulu-Natal **Due Date:** 29 May 2026 --- ## Project Overview This project builds a full image processing and computer vision pipeline to classify South African bank notes across five denominations: R10, R20, R50, R100, and R200, covering both old and new series notes. The pipeline follows four stages: 1. **Preprocessing and Enhancement** — grayscale conversion, CLAHE, and Gaussian blur to normalise images 2. **Segmentation** — Otsu's thresholding and Canny edge detection to isolate the note from its background 3. **Feature Extraction** — HOG, LBP, and colour histograms combined into one feature vector per image 4. **Classification** — SVM, Random Forest, and KNN trained and compared on the extracted features The system is invariant to the side photographed (front or back), scale, and rotation. --- ## Repository Structure ``` . ├── 702Project.ipynb # Main notebook — run this ├── dataset/ # Place your image dataset here (see below) │ ├── R10/ │ ├── R20/ │ ├── R50/ │ ├── R100/ │ └── R200/ └── README.md ``` --- ## Requirements The notebook runs on Python 3.10 or later. Install dependencies with: ```bash pip install numpy opencv-python scikit-image scikit-learn matplotlib seaborn Pillow ipywidgets joblib ``` Or if you are on Google Colab, all of these are already available except `ipywidgets`, which Colab also includes by default. --- ## Dataset Setup The notebook expects images organised into denomination subfolders. Each subfolder should be named after its denomination exactly as shown below. **For local execution**, place the `dataset/` folder in the same directory as the notebook: ``` 702Project.ipynb dataset/ R10/ ← images of R10 notes (front and back, old and new series) R20/ R50/ R100/ R200/ ``` **For Google Colab**, upload the `dataset/` folder to your Google Drive at the following …