基于opencv的人脸识别代码
时间: 2023-09-10 13:10:55 浏览: 46
以下是基于OpenCV的人脸识别代码:
```
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 加载人脸识别分类器
cap = cv2.VideoCapture(0) # 打开摄像头
while True:
ret, frame = cap.read() # 读取摄像头中的一帧图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 将图像转换为灰度图像
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5, minSize=(30, 30)) # 识别人脸
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2) # 绘制矩形框
cv2.putText(frame, 'Face', (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2) # 标记人脸位置
cv2.imshow('Face Detection', frame) # 显示图像
if cv2.waitKey(1) & 0xFF == ord('q'): # 按q键退出
break
cap.release()
cv2.destroyAllWindows()
```
代码中,首先加载了人脸识别分类器,然后打开摄像头,不断读取图像并进行人脸识别。如果检测到人脸,则在人脸周围绘制矩形框,并在矩形框上方标记“Face”字样。最后通过OpenCV的imshow函数将图像显示出来。通过按下q键退出程序。需要注意的是,本代码需要haarcascade_frontalface_default.xml分类器文件才能运行。