def detect(self,num,classifier): p = PCA() imagename = self.GetRealtimeInput(0) cv2.imshow('you', imagename) cv2.waitKey(0) cv2.imwrite('test.bmp',imagename) facenum = num avgvals = pickle.load(open(self.dir+'/average.db','r')) eigenfaces = pickle.load(open(self.dir+'/eigenfaces.db','r')) weights = p.inputWeight(imagename,facenum,avgvals,eigenfaces) s = Predictor(classifier) return s.predict(weights)
from eigenfaces import PCA import glob import sys ''' Test plotting weights with 3 eigenface reconstruction ''' if __name__ == "__main__": ''' 1 -> dir name 2 -> number of eigenfaces ''' P = PCA() files = [] for filename in glob.glob(sys.argv[1] + '/*.bmp'): files.append(filename) P.createFaceVal(files) P.calculateWeights(int(sys.argv[2])) P.plot()
from eigenfaces import PCA import glob import sys ''' Test for finding matched image ''' if __name__ == "__main__": ''' 1 -> image name 2 -> dir name 3 -> number of eigenfaces 4 -> threshold value ''' P = PCA() files = [] for filename in glob.glob(sys.argv[2] + '/*.bmp'): files.append(filename) P.createFaceVal(files) P.calculateWeights(int(sys.argv[3])) dist, result = P.findmatchingimage(sys.argv[1], int(sys.argv[3]), int(sys.argv[4])) print result