如何利用opencv实现人脸识别功能
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"如何利用opencv实现人脸识别功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何利用opencv实现人脸识别功能"吧!目录一、环境
千家信息网最后更新 2026年11月02日如何利用opencv实现人脸识别功能
本篇内容主要讲解"如何利用opencv实现人脸识别功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何利用opencv实现人脸识别功能"吧!
目录
一、环境
二、使用Haar级联进行人脸检测
三、Haar级联结合摄像头
四、使用SSD的人脸检测
五、 SSD结合摄像头人脸检测
一、环境
pip install opencv-python
python3.9
pycharm2020
人狠话不多,直接上代码,注释在代码里面,不说废话。
二、使用Haar级联进行人脸检测
测试案例:

代码:(记得自己到下载地址下载对应的xml)
# coding=gbk"""作者:川川@时间 : 2021/9/5 16:38https://github.com/opencv/opencv/tree/master/data/haarcascades"""import cv2# 待检测的图片路径imagepath="2.jpg"image = cv2.imread(imagepath)#读取图片gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)#图像转换为灰度图:face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')#加载使用人脸识别器faces = face_cascade.detectMultiScale(gray)#检测图像中的所有面孔#为每个人脸绘制一个蓝色矩形for x, y, width, height in faces: # 这里的color是 蓝 黄 红,与rgb相反,thickness设置宽度 cv2.rectangle(image, (x, y), (x + width, y + height), color=(255, 0, 0), thickness=2)# 最后,让我们保存新图像cv2.imwrite("beauty_detected.jpg", image)效果:

效果可以看出这个效果并不是很好。
三、Haar级联结合摄像头
代码:(还是用的前面得xml)
# coding=gbk"""摄像头人脸识别作者:川川@时间 : 2021/9/5 17:15Haar级联结合摄像头"""import cv2#创建新的cam对象cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)#初始化人脸识别器(默认的人脸haar级联)face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')while True: # 从摄像头读取图像 _, image = cap.read() # 转换为灰度 image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 检测图像中的所有人脸 faces = face_cascade.detectMultiScale(image_gray, 1.3, 5) # 为每个人脸绘制一个蓝色矩形 for x, y, width, height in faces: cv2.rectangle(image, (x, y), (x + width, y + height), color=(255, 0, 0), thickness=2) cv2.imshow("image", image) if cv2.waitKey(1) == ord("q"): breakcap.release()cv2.destroyAllWindows()效果:
四、使用SSD的人脸检测
代码:
# coding=gbk"""图片人脸识别作者:川川@时间 : 2021/9/5 17:22"""import cv2import numpy as np# 下载链接:https://raw.githubusercontent.com/opencv/opencv/master/samples/dnn/face_detector/deploy.prototxtprototxt_path = r"./deploy.prototxt.txt"# 下载链接:https://raw.githubusercontent.com/opencv/opencv_3rdparty/dnn_samples_face_detector_20180205_fp16/res10_300x300_ssd_iter_140000_fp16.caffemodelmodel_path =r"./res10_300x300_ssd_iter_140000_fp16.caffemodel"model = cv2.dnn.readNetFromCaffe(prototxt_path, model_path)image = cv2.imread("2.jpg")h, w = image.shape[:2]blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300),(104.0, 177.0, 123.0))model.setInput(blob)output = np.squeeze(model.forward())font_scale = 1.0for i in range(0, output.shape[0]): confidence = output[i, 2] if confidence > 0.5: box = output[i, 3:7] * np.array([w, h, w, h]) start_x, start_y, end_x, end_y = box.astype(np.int) cv2.rectangle(image, (start_x, start_y), (end_x, end_y), color=(255, 0, 0), thickness=2) cv2.putText(image, f"{confidence*100:.2f}%", (start_x, start_y-5), cv2.FONT_HERSHEY_SIMPLEX, font_scale, (255, 0, 0), 2)cv2.imshow("image", image)cv2.waitKey(0)cv2.imwrite("beauty_detected.jpg", image)效果:
我们可以看到现在的识别效果非常好了。
五、 SSD结合摄像头人脸检测
代码:
# coding=gbk"""作者:川川@时间 : 2021/9/5 17:26SSD结合摄像头的人脸检测"""import cv2import numpy as npprototxt_path = "deploy.prototxt.txt"model_path = "res10_300x300_ssd_iter_140000_fp16.caffemodel"model = cv2.dnn.readNetFromCaffe(prototxt_path, model_path)cap = cv2.VideoCapture(0)while True: _, image = cap.read() h, w = image.shape[:2] blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300), (104.0, 177.0, 123.0)) model.setInput(blob) output = np.squeeze(model.forward()) font_scale = 1.0 for i in range(0, output.shape[0]): confidence = output[i, 2] if confidence > 0.5: box = output[i, 3:7] * np.array([w, h, w, h]) start_x, start_y, end_x, end_y = box.astype(np.int) cv2.rectangle(image, (start_x, start_y), (end_x, end_y), color=(255, 0, 0), thickness=2) cv2.putText(image, f"{confidence*100:.2f}%", (start_x, start_y-5), cv2.FONT_HERSHEY_SIMPLEX, font_scale, (255, 0, 0), 2) cv2.imshow("image", image) if cv2.waitKey(1) == ord("q"): breakcv2.destroyAllWindows()cap.release()效果:
可以发现SSD效果特别好!
到此,相信大家对"如何利用opencv实现人脸识别功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
人脸
检测
摄像头
效果
摄像
代码
作者
图像
时间
川川
功能
图片
内容
灰度
环境
矩形
蓝色
链接
识别器
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网新科技
智能科技公司是互联网公司吗
美国互联网科技巨头监管
喔噻互联网科技
互联网科技英文
互联网科技公司怎么样
以房互联网科技
互联网与未来科技
互联网科技排名
广州互联网络科技有限公司
互联网金融科技平台
天下捷融互联网科技
互联网科技素材视频竖屏
央行互联网金融科技公司
互联网经济与金融科技
河南住房之家互联网科技
互联网风格科技公司名称
云鲸互联网络科技有限公司
万物互联网智能科技
颐高云石互联网科技
花魁咖啡
没上市的科技互联网公司
互联网 科技
无线互联网科技
长亮科技 互联网金融
互联网公司会议桌创意科技软装饰
长沙茂晟互联网科技有限公司
广州百诚互联网科技有限公司官网
株洲百竞科技的互联网营销顾问
小牛互联网科技有限公司地址