Implementation of different texture feature extractors and texture classifiers for both Grayscale and RGB images.
The implemented algorithms are tested on Outex-TC databases. Algorithms for grayscale images are tested on Outex_TC_00010-r database, while algorithms for RGB images are tested on Outex_TC_00010-c database.
Algorithms are implemented in either MATLAB or Python.
Methods used for Feature Extraction of grayscale texture images are based on:
- Gray level co-occurrence matrix (GLCM)
- Discrete wavelet packet transform (DWPT)
Inside the folder, there is example of plotting Wavelet energy (DWPTExample) that is used for extracting features for texture classification, using function PlotDWPT.
The classification is done in the Main_program, as well as classifier evaluation.
There is also an implementation of SVM classifier that classifies texture images using Wavelet features.
Inside the folder, there are three .mat files containing extracted GLCM features, Wavelet features and obtained results:
Features of RGB texture images are extracted using:
- Discrete wavelet packet transform (DWPT)
- Pretrained AlexNet CNN without the last layer
Wavelet based classification of RGB images uses the same feature extraction (Wavelet_image_features) as in the case of grayscale images. In contrast to extracted feature vector of grayscale images, the extracted features of RGB images have three channels for each color channel (R, G, B). The extracted features are given in Wavelet_Features_RGB.
The classification is done in the Main_program_RGB.
Pretrained AlexNet is used to extract 4096 dimensional feature vector. Implementation is given in
AlexNet_Feature_Extraction.
The extracted feature vectors are given in two seperate files:
- Train data
- Test data
(Test data is given in .rar format)
Dimension of the extracted feature vector is reduced using the PCA algorithm, after which an
SVM classifier is trained on new features.