How to take principal component to get eigenvalues for an array of face images
1 view (last 30 days)
Show older comments
Hello, I'm trying to get started on eigenfaces in Matlab. I read in images 100 x 100 grey level with imread. Turned each one into single column of data 10,000 data points long. Created a matrix A with four columns (four images) of data 10,000 rows long. I then tried to use
[COEFF, SCORE, latent] = princomp(A); but it gives me : _Error using svd Out of memory. Type HELP MEMORY for your options.
Error in princomp (line 86) [U,sigma,coeff] = svd(x0,econFlag); % put in 1/sqrt(n-1) later
Error in face1 (line 37) [COEFF, SCORE, latent] = princomp(A);_
----------------
size(A) = 4 x 10000
I just wanted to try four pictures before moving on to get fussy about the face images but it's already telling me it's out of memory.
Please help. I know people use Matlab to do Eigenfaces. What am I doing wrong ? Help please.
0 Comments
Answers (1)
bym
on 9 May 2012
I am no expert, but I think it has do with how you are arranging the matrix. See Eigenface , in particular the section about computing the Eigenvalues for reducing the size of the problem
>> size(princomp(rand(100,4)))
ans =
4 4
>> size(princomp(rand(4,100)))
ans =
100 100
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!