You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
The files here are:
(1) load_data: load the data from face_images.mat and nonface_images.mat
face_images.mat file should contain:
- train_imgs: NxMxL tensor that contains N test face images. Each image is MxL pixels (grayscale).
- train_ids: Nx1 vector that contains the id of each image in test_imgs
- test_imgs: KxMxL tensor that contains N test face images. Each image is MxL pixels (grayscale).
- test_ids: Kx1 vector that contains the id of each image in test_imgs
nonface_images.mat file should contain:
- nonface_imgs: SxMxL tensor that contains S non-face images. Each image is MxL pixels (grayscale)
(2) getAvgFace: calculate the average of the training face images and display it.
(3) PCA_: calculate the principle components (PCs), the latent low-dimensional data, and the eigenvalues
(4) KNN_: classifying using k-nearest neighbors algorithm. The nearest neighbors search method is euclidean distance.
(5) Demo: is a demo!
Note: you have to prepare your data as described in (1)
To get the results:
1- Download the datasets and locate them in the same directory of the source code.
2- Run Demo.m
Cite As
Mahmoud Afifi (2026). Face recognition using PCA and KNN (https://www.mathworks.com/matlabcentral/fileexchange/64568-face-recognition-using-pca-and-knn), MATLAB Central File Exchange. Retrieved .
Categories
Find more on Dimensionality Reduction and Feature Extraction in Help Center and MATLAB Answers
General Information
- Version 1.1.0.1 (12.5 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
