Python人脸编码 python人脸检测代码 | 您所在的位置:网站首页 › python画方格图 › Python人脸编码 python人脸检测代码 |
目录 1.理论知识 1)安装opencv 2)opencv人脸检测器 3) 加载人脸分类器 2.代码介绍 1)用摄影头调用图像 2)选择图片 3.完整代码 1.理论知识1)安装opencv本文实现人脸目标检测的方法是opencv图像采集,因此我们也需先下载opencv的相关库 方法:pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com/pypi/simple 2)opencv人脸检测器opencv中自带人脸检测器,是使用Haar算法进行人脸检测。大致介绍一下其原理,先生成一个矩形块,根据人脸的各个部位的明暗度,并要求眼睛、鼻梁、嘴等部位超过一定的阈值(PS中的知识)从而实现人脸检测,大致看图就清晰易懂。 但这个人脸分类器我试过只能达到正脸的效果,侧脸并不能进行检测出是人的效果 Haar的下载地址:https://github.com/opencv/opencv/tree/master/data 2.代码介绍1)用摄影头调用图像# 调用摄像头进行拍照 cap = cv2.VideoCapture(0) ret, img = cap.read() cap.release()2)选择图片本文运用图片进行目标检测 # 括号中的path为图像路径 img=cv2.imread(path)检测图像中的人脸,返回人脸的相关向量组 faces = haarcascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)scaleFactor参数:指图像尺寸每次减小的比例为1.3 minNeighbors参数:指每一个目标至少被检测5次才算真正的目标(像素在计算机里就是一个个格子,不同大小的图像框都能检测到人脸) 绘制矩形框: # 对检测到的目标画框 for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 1)rectangle函数中参数的含义: img:处理的图像 (x,y),(x+w,y+h): 矩形框的左上和右下的坐标 (255,255,0): 颜色 1 : 线条的宽度展示图像: # 显示结果 cv2.imshow("Final_image", img) cv2.waitKey(0)结果显示(含侧脸检测失败图):
|
CopyRight 2018-2019 实验室设备网 版权所有 |