三个python项目实战,打造人脸识别系统!
案例一:识别图片中人头像
思路:
1.导入库
import cv2
2.加载图片
img=cv2.imread('/Users/James/Desktop/image1.jpg')
3.创建窗口
cv2.namedWindow('James hao chou')
4.显示图片
cv2.imshow('James',img)
5.暂停窗口
cv2.waitKey(0)
6.关闭窗口
cv2.destroyAllWindows()
案例二:在识别的图片上面添加人脸识别:重点注意,需要添加模型
思路:
1.导入库
import cv2
2.加载图片
img=cv2.imread('/Users/James/Desktop/image1.jpg')
3.加载人脸模型
cv2.CascadeClassifier("/..../haarcascade_frontalface_default.xml")
4.调整图片灰度(人脸识别没必要识别颜色,灰度可以提高性能)
gray=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
5.检查人脸
faces=face.detectMultiScale(gray)
6.标记人脸
for(x,y,w,h) in faces:
#里面有四个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色RGB 5.线宽
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),10)
7.创建窗口
cv2.namedWindow('James hao chou')
8.显示图片
cv2.imshow('James',img)
9.暂停窗口
cv2.waitKey(0)
10.关闭窗口
cv2.destroyAllWindows()
案例三:调用摄像头
思路:
1.导入库
import cv2
2.打开摄像头
capture=cv2.VideoCapture(0)
3.获取摄像头实时画面
cv2.namedWindow('she xiang tou')
while True
#3.1读取摄像头的帧画面
ret,frame=capture.read()
#3.2显示图片(渲染画面)
cv2.imshow('James',frame)
#3.3暂停窗口
if cv2.waitKey(5) & 0xFF == ord('q')
break
4.释放资源
capture.release()
5.关闭窗口
cv2.destroyAllWindows()
案例四:摄像头识别人脸
思路:
1.导入库
import cv2
2.加载人脸模型
face=cv2.CascadeClassifier("/..../haarcascade_frontalface_default.xml")
3.打开摄像头
capture=cv2.VideoCapture(0)
4.创建窗口
cv2.namedWindow('James shexiangtou')
5.获取摄像头实时画面
while True
#5.1读取摄像头帧画面
ret,frame=capture.read()
#5.2图片灰度调整
gray=cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
#5.3检查人脸
faces=face.detectMultiScale(gray,1.1,3,0,(100,100))
#5.4标记人脸
for(x,y,w,h) in faces:
#里面有四个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色RGB 5.线宽
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)
#5.5显示图片
cv2.imshow('shexiangtou',frame)
#5.6暂停窗口
if cv2.waitKey(5)&0xFF == ord('q')
break
6.释放资源
capture.release()
7.关闭摄像头
cv2.destroyAllWindows()