基于图片和摄像头的识别:
import cv2 #opencv库 #读取图片 image=cv2.imread(\'C:/Users/Pictures/mxhy.jpg\') #显示图片窗口 #cv2.imshow(\'faces\',image) #窗口暂停 #cv2.waitKey(0) #销毁窗口资源 #销毁窗口 face_model=cv2.CascadeClassifier(\'D:/github/haarcascades/haarcascade_frontalface_alt2.xml\') #图片进行灰度处理 gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY) #人脸检测 faces = face_model.detectMultiScale(gray) #标记人脸 for (x,y,w,h) in faces: #1.原始图片;2坐标点;3.矩形宽高 4.颜色值(RGB);5.线框 cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2) #显示图片窗口 cv2.imshow(\'faces\',image) #窗口暂停 cv2.waitKey(0) cv2.destoryAllWindows()
import cv2 image=cv2.imread(\'C:/Users/Pictures/fbb.jpg\') face_model=cv2.CascadeClassifier(\'D:/haarcascades/haarcascade_frontalcatface.xml\') #打开摄像头 capcure=cv2.VideoCapture(0) #获取摄像头实时画面 while True: # 读取摄像头当前这一帧的画面 ret:True fase image:当前这一帧画面 ret,image = capcure.read() # 图片灰度处理 gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY) # 检查人脸 #faces=face_model.detectMultiScale(gray,1.1,3,0,(20.20)) faces = face_model.detectMultiScale(gray,1.1,3,0,(100,100)) #标记人脸 for (x,y,w,h) in faces: #矩形标记 cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2) #显示图片 cv2.imshow("faces in video",image) #暂停窗口 if cv2.waitKey(5) & 0xFF ==ord(\'q\'): break #释放资源 capcure.release() #销毁窗口 cv2.destroyAllWindows()