注册(账号密码+人脸识别)
注册功能分为账号密码注册和人脸注册两种注册方式:
1.账号密码注册
将输入的账号、密码、手机号存入数据库中,同时对密码进行加密。
2.人脸注册
用户输入账号后,新建一个以用户名命名的文件夹,点击注册按钮,自动开启摄像头,进行人脸监测。按下w键可保存人脸信息,同时注册成功。
人脸注册代码:
def rlzc(username):
cap = cv2.VideoCapture(0)
face_detector = cv2.CascadeClassifier('users/haarcascade_frontalface_alt.xml')
is_write = False # 判断条件,是否保存人脸
fn = 1 # 文件名字
while True:
flag, frame = cap.read()
gray = cv2.cvtColor(frame, code=cv2.COLOR_BGR2GRAY)
faces = face_detector.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)
for x, y, w, h in faces:
if is_write:
face = frame[y:y + h, x:x + w]
face = cv2.resize(face, (200, 200)) # 颜色彩色
cv2.imwrite('faces/%s/%d.jpg' % (username,fn), face)
fn += 1
cv2.rectangle(frame, pt1=(x, y), pt2=(x + w, y + h), color=[0, 0, 255], thickness=2)
if fn >= 31: # 保存了30张图片,退出
break
cv2.imshow('face', frame)
key = cv2.waitKey(1000 // 24)
if key ==