【OpenCV】⚠️实战⚠️ 人脸识别 ☢️建议手收藏☢️
【摘要】
【OpenCV】⚠️实战⚠️ 人脸识别 ☢️建议手收藏☢️
概述模型获取detectMultiScale图片人脸识别视频人脸识别
概述
OpenCV 是一个跨平台的计算机视觉库, 支持多语...
概述
OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家来实战一下, 用 OpenCV 实现人脸识别.
模型获取
detectMultiScale
格式:
cv2.detectMultiScale(self, image, scaleFactor=None, minNeighbors=None, flags=None, minSize=None, maxSize=None)
- 1
参数:
- image: 输入图像, 灰度图
- scaleFactor: 图像尺寸缩小比例, 决定两个不同大小的窗口扫描之间有多大的跳跃
- minNeighbors: 被检测到几次才算目标
- minSize: 目标最小尺寸
- maxSize: 目标最大尺寸
图片人脸识别
原图:
代码:
import cv2
def face_detect(image):
# 转换成灰度图
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 实例化
face_detector = cv2.CascadeClassifier(
"C:/Users/Windows/Desktop/face/haarcascades/haarcascade_frontalface_alt_tree.xml")
faces = face_detector.detectMultiScale(image_gray, 1.05, 3)
# 遍历每个人脸
for x, y, w, h in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 5)
return image
if __name__ == "__main__":
# 读取图片
image = cv2.imread("face.jpg")
# 人脸检测
result = face_detect(image)
# 图片展示
cv2.imshow("result", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存结果
cv2.imwrite("result.jpg", result)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
输出结果:
视频人脸识别
代码:
import cv2
def face_detect(image):
# 转换成灰度图
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 实例化
face_detector = cv2.CascadeClassifier(
"C:/Users/Windows/Desktop/face/haarcascades/haarcascade_frontalface_alt_tree.xml")
faces = face_detector.detectMultiScale(image_gray, 1.01, 1)
# 遍历每个人脸
for x, y, w, h in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 5)
return image
if __name__ == "__main__":
# 读取视频
capture = cv2.VideoCapture(0)
# 循环
while (True):
# 读取一帧
ret, frame = capture.read()
frame = cv2.flip(frame, 1)
result = face_detect(frame)
# 显示
cv2.imshow("frame", result)
# q键退出
if cv2.waitKey(1) & 0XFF == ord("q"):
break
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/119408985
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)