原创

基于Python语言OpenCV模块的人脸识别小项目


基于Python语言OpenCV模块的人脸识别小项目

1. 识别图片上的人脸

# 1、导入库
import cv2
# 2、加载图片
img = cv2.imread(r'C:\Users\Administrator\Desktop\image2.png')
# 3、加载人脸模型
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
# 4、调整图片灰度
gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
# 5、检查人脸
faces = face_engine.detectMultiScale(gray_img)
# 6、标记人脸
for(x, y, w, h) in faces:
    # 五个参数(图片,起始坐标,结尾坐标,标记线的颜色,线条粗细)
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 5)
# 7、创建窗口
cv2.namedWindow('face check')
# 8、显示图片
cv2.imshow('face image', img)
# 9、暂停窗口
cv2.waitKey(0)
# 10、关闭窗口
cv2.destroyAllWindows()

2. 调用摄像头人脸检测

# 导入库
import cv2
# 加载人脸识别模型
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
# 打开摄像头
capture = cv2.VideoCapture(0)
# 人脸检测
while True:
    # 获取摄像头捕捉的画面(帧)
    ret, frame = capture.read()
    # 将获取的画面灰度处理
    gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
    # 检测人脸获取人脸区域
    faces = face_engine.detectMultiScale(gray)
    # 标记人脸区域
    for(x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
    # 显示画面
    cv2.imshow('press q to quit', frame)
    # 按‘q’退出程序
    if cv2.waitKey(5) & 0xFF == ord('q'):
        break
# 释放资源
capture.release()
# 关闭窗口
cv2.destroyAllWindows()

总结

实用模块真的很方便,不需要自己去实现人脸识别的算法,直接使用模块然后调用方法即可,所以我们是站在巨人肩膀上编程。

python
人脸识别
  • 作者:曾强(联系作者)
  • 发表时间:2020-01-29 17:27
  • 版权声明:自由转载-非商用-非衍生-保持署名
  • 转载声明:转载时请注明出处:www.zengqiang.club
  • 注:如果文章有错误,望请评论指出,谢谢;如果看了文章还有不明白的地方,欢迎进群与我交流。
  • 评论