[r,g,b] = readppm('io.ppm'); [row,col]=size(r); N=row*col; r2 = r-( (1/N)*sum(sum(r))); g2 = g-( (1/N)*sum(sum(g))); b2 = b-( (1/N)*sum(sum(b))); A = buildItUp(r2,g2,b2); s = (1/N)*(A'*A); [v,d]= eig(s) %kl of the zero mean image new_A = kl(A,v); s2 = (1/N)*(new_A'*new_A); s2 %display transformed image final_A = myNorm(new_A); [r3,g3,b3]= tearItDown(final_A,192); gdisplay(buildImage(r3,g3,b3));