mirror of
https://github.com/bendtherules/pytry.git
synced 2026-08-18 13:53:01 +00:00
All the previous files
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
from SimpleCV import *
|
||||
import time
|
||||
|
||||
# This file shows you how to train Fisher Face Recognition
|
||||
# Enter the names of the faces and the output file.
|
||||
cam = Camera(0) # camera
|
||||
names = ['Alice','Bob'] # names of people to recognize
|
||||
outfile = "test.csv" #output file
|
||||
waitTime = 10 # how long to wait between each training session
|
||||
|
||||
def getFaceSet(cam,myStr=""):
|
||||
# Grab a series of faces and return them.
|
||||
# quit when we press escape.
|
||||
iset = ImageSet()
|
||||
count = 0
|
||||
disp = Display((640,480))
|
||||
while disp.isNotDone():
|
||||
img = cam.getImage()
|
||||
fs = img.findHaarFeatures('face')
|
||||
if( fs is not None ):
|
||||
fs = fs.sortArea()
|
||||
face = fs[-1].crop().resize(100,100)
|
||||
fs[-1].draw()
|
||||
iset.append(face)
|
||||
count = count + 1
|
||||
img.drawText(myStr,20,20,color=Color.RED,fontsize=32)
|
||||
img.save(disp)
|
||||
disp.quit()
|
||||
return iset
|
||||
|
||||
# First make sure our camera is all set up.
|
||||
#getFaceSet(cam,"Get Camera Ready! - ESC to Exit")
|
||||
#time.sleep(5)
|
||||
labels = []
|
||||
imgs = []
|
||||
# for each person grab a training set of images
|
||||
# and generate a list of labels.
|
||||
for name in names:
|
||||
myStr = "Training for : " + name
|
||||
iset = getFaceSet(cam,myStr)
|
||||
imgs += iset
|
||||
labels += [name for i in range(0,len(iset))]
|
||||
time.sleep(waitTime)
|
||||
|
||||
# Create, train, and save the recognizer.
|
||||
f = FaceRecognizer()
|
||||
print f.train(imgs, labels)
|
||||
f.save(outfile)
|
||||
# Now show us the results
|
||||
disp = Display((640,480))
|
||||
while disp.isNotDone():
|
||||
img = cam.getImage()
|
||||
fs = img.findHaarFeatures('face')
|
||||
if( fs is not None ):
|
||||
fs = fs.sortArea()
|
||||
face = fs[-1].crop().resize(100,100)
|
||||
fs[-1].draw()
|
||||
name, confidence = f.predict(face)
|
||||
img.drawText(name,30,30,fontsize=64)
|
||||
img.save(disp)
|
||||
Reference in New Issue
Block a user