好几个小时以来我一直在尝试这样做。
我想做的是创建一个简单的信息列表,每个用户都有自己的唯一ID,这使我可以从该唯一ID中检索唯一的信息(他们的名字)。但是我想确保在创建另一个用户时该ID不存在,这样我就不会覆盖现有用户。
import cv2
faceDetector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml' or 'haarcascade_frontalface_alt2.xml')
cam = cv2.VideoCapture(0)
user = input('Enter Users Name: ')
id =0
sampleNumber = 0
color = (255, 0, 0)
stroke = 2
while(True):
ret, img = cam.read()
data = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = faceDetector.detectMultiScale(data, scaleFactor=1.5, minNeighbors=5)
for(x, y, w, h) in faces:
end_cord_x = x + w
end_cord_y = y + h
cv2.rectangle(img, (x, y), (end_cord_x, end_cord_y), color, stroke)
sampleNumber += 1
cv2.imwrite("Samples_dataSet/User." + id + '.' + str(sampleNumber) + ".jpg", data[y:y + h, x:x + w])
cv2.waitKey(100)
cv2.imshow("Face", img)
if cv2.waitKey(100) & 0xFF == ord('q'):
break
elif sampleNumber > 1:
break
cam.release()
cv2.destroyAllWindows()
我正在进行面部识别,我希望能够运行该文件,让用户输入其名称和程序来为该人创建一个不存在的ID,并将信息附加到数据库中。然后,我想拉该数据库并拉起与id关联的名称,就像目录一样。
我已经尝试过Shelves,Json和Directory的服务,但我不知道该怎么做