Python简单人脸识别,可调摄像头,基础入门,先简单了解一下吧
#1导入框架 import cv2#2读取图片 image=cv2.imread("E:/PY_Nxj/img/1.jpg") # 3.加载人脸模型 CascadeClassifier(级联分类器) face_model=cv2.CascadeClassifier("E:/PY_Nxj/img/facemodel.xml") #4图片进行灰度处理 gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #5检查人脸 faces = face_model.detectMultiScale(gray) 6#标记人脸 for (x,y,w,h) in faces: cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5) # 7显示图片 cv2.imshow("lal",image)
#8暂停窗口
cv2.waitKey(0)
#9销毁窗口
cv2.destoryAllWindows()
读取图片,因为PS效果可以看到,当灰度降低时,人脸会显现出来,所以利用人脸模型降低灰度从而找出人脸几个边缘点,从而确定出标记点,即举行的左上角坐标和高度,然后绘制矩形并显示出来,
waitKey(0)指的是一直终止,waitKey(5)就是终止5微秒的意思,
"""#1导入框架 import cv2 import os #2读取图片 image=cv2.imread("E:/pycharm_python/img/1.jpeg") # 3.加载人脸模型 CascadeClassifier(级联分类器) face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml") #4图片进行灰度处理 gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #5检查人脸 faces = face_model.detectMultiScale(gray) 6#标记人脸 for (x,y,w,h) in faces: cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5) # 7显示图片 cv2.imshow("lal",image) cv2.waitKey(0) cv2.destoryAllWindows() """ #1导入框架 import cv2 #2加载人脸模型 face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml") #3打开摄像头 capture=cv2.VideoCapture(0) #4获取摄像头实时画面 while True: #5读取摄像头当前这一帧的画面 True或False ret, img = capture.read() #6灰度处理 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) #7检查人脸 faces = face_model.detectMultiScale(gray,1.1,3,0,(120,120)) #8标记人脸 for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 5) #9显示图片 cv2.imshow("My_按q退出",img) #10暂停窗口 if cv2.waitKey(5) &0xFF==ord('q'): break #11释放资源 capture.release() #12销毁窗口 cv2.destoryAllWindows()
需要注意的是
1安装pip install opencv-python
2图片和模型都需要安装在根目录下,简单说就是Pycharm再建一个文件夹,放那里面,否则读取不到
3模型在我的网盘中,也是别的老师给我的... 人脸识别!
网盘中的模型在open-cv的data文件夹下有