利用opencv自带的级联分类模型进行人脸识别
1、代码:
import cv2 as cv
# 建立检测函数
def face_detect():
# 图像灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
# 级联分类器,调用opencv自带的分类模型,需找到OpenCV安装目录下得data文件的相关模型
face_detect = cv.CascadeClassifier(
r'D:\anaconda3\envs\pythonProject1\Lib\site-packages\cv2\data\haarcascade_frontalface_alt2.xml')
face = face_detect.detectMultiScale(image=gray)
for x, y, w, h in face:
# 绘制人脸所处位置的方框
cv.rectangle(img, (x, y), (x + w, y + h), color=(255, 0, 0), thickness=2)
# 捕获摄像头
video_capture = cv.VideoCapture(0)
# 当捕获到摄像头时
while video_capture.isOpened():
_, frame = video_capture.read()
img = frame
img = cv.flip(img, 1)
face_detect()
cv.imshow("img", img)
cv.waitKey(1)
2、结果
3、查找opencv安装位置的方法
代码:
import cv2 as cv
print(cv.__path__)
结果:
注:需要注意的是,将上述路径输入到文件夹搜索栏时,需要删除一个反斜线