Code covered by the BSD License  

Highlights from
PCA Based Face Recognition System Using ORL Database


4.9 | 12 ratings Rate this file 230 Downloads (last 30 days) File Size: 3.73 MB File ID: #43610
image thumbnail

PCA Based Face Recognition System Using ORL Database



24 Sep 2013 (Updated )

This Package implements 'Eigenface' PCA based face recognition technique.

| Watch this File

File Information

This package implements a well-known PCA-based face recognition method, which is called 'Eigenface'.
The program is easy to use. Furthermore, a sample Project file demo_PCA.m' is added that demonstrate how to use, ORL training and test database is also included to show Performance comparison for execution time and Recognition percentage, on different size of testing and training dataset by picking images randomly.
Additional file LOOCV.m for LOOCV (Leave One Out Cross Validation) Test.
Additional file Comparision.m for Comparision of PCA with mean,mode and median modifications.
Additional file PRR.m is added in the Sub Functions for calculating Precision and Recall of individual class.
for better understanding of PCA and the Tests involved you can use the tutorials given :


This file inspired Radial Basis Function With K Mean Clustering.

Required Products MATLAB
MATLAB release MATLAB 7.13 (R2011b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (24)
13 Sep 2014 Shujaat Khan

Pratik panchal : Please find the download button on the top right of the page you will get complete code (all required files) in a single .zip file. extract the zip file and enjoy the code

13 Sep 2014 pratik panchal

code are not seen...plz give me code

11 Jul 2014 Shujaat Khan

for video demonstration visit and download FPS_Tutorial.avi file and see

11 Jul 2014 Syed Asra

hi everyone...i tried to run this code but i am getting the following error
"Error: Function definitions are not permitted at the prompt or in scripts."
Can anybody among you tell me how to overcome this problem...???


Hi Shujaat Khan, can you kindly send me the related documents to my mail id:

Thanks in advance

04 Jul 2014 Shujaat Khan

Thank you Hamid Hussain

04 Jul 2014 Hamid Hussain

Brilliant work !

04 Jul 2014 Hamid Hussain

You have done great work!!!
Nice keep it up

01 Jul 2014 Namratha

Hi Shujaat Khan
Could you please send me the documentation and the code. this is the project i have taken up for my academics it will be of great help if u send me. pls send at

25 Jun 2014 Pranjal Singh Rajput

plz send me the documentation and full code... at

25 Jun 2014 Shujaat Khan

Pelagia file is working fine on my computer you can use any zip file utility , i am using peazip software to extract and compress my files

14 Jun 2014 Pelagia

The file is corrupted im not able to open it.
Please send me a copy at

Thank you

14 Jun 2014 alridha

Shujaat Khan
nice code
it hard to me to understand, can you please send me the documentatins.
raja abdullah

18 May 2014 busra catak


19 Apr 2014 Rupamjyoti Borah  
05 Apr 2014 Shujaat Khan

Thank you mragank kumar and Akshay Gore

05 Apr 2014 mragank kumar

nice code

05 Feb 2014 Akshay Gore

Nice code
Please send me documentation
Akshay Gore

10 Jan 2014 Shujaat Khan

Thank you Geetika, I have corrected your mentioned error.

09 Jan 2014 Shujaat Khan

Please Replace "find((recd-outd)<0)" in Recognition.m file with find((recd-outd)~=0) .

08 Jan 2014 Geetika

one thing more. you will have to check for find((recd-outd)<0) this condition as well.

08 Jan 2014 Geetika  
08 Jan 2014 Geetika

Thank u very much for this. I had one question..
Why are u using this?
temp = ( norm( ProjectedTestImages(:,j) - ProjectedImages(:,i) ) )^2;
I mean what is the significance of using this?

25 Sep 2013 Hassan Jamil

Brilliant, Good work Shujaat Khan

15 Nov 2013

* Random Selection of training and testing images
* More generic code; support for custom database

18 Nov 2013

* New improved Code with new functions, reduced redundancy in code
* Well Commented with detail explanation
* direct selection of required dimensions
* EigenVectors are normalized
* CDTr and CDTs is replaced with new CDT.m file

27 Dec 2013

* Additional file LOOCV.m for LOOCV (Leave One Out Cross Validation) Test.
* CDT.m file Upper/Lower case file extension support
* Invalid Dimensions Check in demo_PCA.m

31 Dec 2013

* Sub_Functions folder
* More detailed Graphs

10 Jan 2014

* Bug Fixing in Recognition.m Function
* Addition of Some Comments

04 Apr 2014

Additional Comparision file for PCA comparision with [Mean,Mode, and Median]

19 May 2014

Additional file PRR.m is added in the Sub Functions for calculating Precision and Recall of individual class.
Recogniton.m and PCA_NEW.m files are slightly modified for the exchange of arguments( variable outd and recd )

Contact us