欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 《OpenCV计算机视觉》—— 人脸识别

《OpenCV计算机视觉》—— 人脸识别

2025/7/4 2:03:58 来源:https://blog.csdn.net/weixin_73504499/article/details/142883884  浏览:    关键词:《OpenCV计算机视觉》—— 人脸识别
  • 识别图片如下:
    在这里插入图片描述

  • 完整代码:

import cv2image = cv2.imread('face.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
""" 加载分类器 """
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
""" 分类器检测实现人脸识别 """
"""
objects =cv2.CascadeClassifier,detectMultiscale( image[, scaleFactor[,minNeighbors[,flags[,minsize[,maxsize]]]]])
其中,各个参数及返回值的含义如下:image: 待检测图像,通常为灰度图像。scaleFactor: 表示在前后两次相继扫描中搜索窗口的缩放比例。识别,扫描,按照不同比例来进行扫描minNeighbors: 表示构成检测目标的相邻矩形的最小个数。在默认情况下,该参数的值为 3.表示有 3 个以上的检测标记存在时才认为存在人脸。如果希望提高检测的准确率可以将该参数的值设置得更大,但这样做可能会让一些人脸无法被检测到。flags: 该參数通常被省略。在使用低版本 pencV(opencv 1.X 版本)时,该参数可能会被设置为CV_HAAR_DO_CANNY_PRUNING,表示使用 canny 边缘检测器拒绝一些区城minsize: 目标的最小尺寸,小于这个尺寸的目标将被忽略。maxSize: 目标的最大尺寸,大于这个尺寸的目标将被忽略。通常情况下,将该可选参数省略即可。若 maxsize 和 minsize 大小一致,则表示仅在一个尺度上査找目标。objects: 返回值,目标对象的矩形向量组。该值是一组矩形信息,包含每个检测到的人脸对应的矩形框的信息(x轴方向位置、y轴方向位置、宽度、高度)。
"""
faces = faceCascade.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=9, minSize=(8, 8))
print("发现{}张人脸".format(len(faces)))
print("其位置分别是:", faces)for (x, y, w, h) in faces:cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow("result", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 结果如下:
    在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词