人脸识别小程序
#训练数据
trained_face_data=cv2.CascadeClassifier("./opencv-master/data/haarcascades/haarcascade_frontalface_default.xml")
#读取图片,视频流
webscan=cv2.VideoCapture(0)
#img=cv2.imread("./u=675070887,2000843612&fm=26&fmt=auto&gp=0.webp")
#改变颜色
#gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#检测人脸 结果为矩形位置
while True:
successful_frame,frame=webscan.read()
gray_img=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
face_coordinates=trained_face_data.detectMultiScale(gray_img)
#(x,y,w,h)=face_coordinates
#print(face_coordinates)
for (x,y,w,h) in face_coordinates:
cv2.rectangle(frame,(x,y),(x+w,y+h),(random.randint(0,256),random.randrange(0,256),random.randrange(0,256)),5)
#plt.imshow(gray_img)
cv2.imshow("",frame)
key=cv2.waitKey(1)
if key==81 or key==113:
break
注意训练数据请参考GitHub上opencv的数据
### 详见https://github.com/opencv/opencv.git