zoukankan      html  css  js  c++  java
  • 基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)

    本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172

    import numpy as np
    import cv2
    
    # 脸
    face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    face_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
    # 眼睛
    eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
    eye_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_eye.xml')
    #嘴巴
    mouth_cascade = cv2.CascadeClassifier('haarcascade_mcs_mouth.xml')
    mouth_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_mouth.xml')
    #鼻子
    nose_cascade = cv2.CascadeClassifier('haarcascade_mcs_nose.xml')
    nose_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_nose.xml')
    #耳朵
    leftear_cascade = cv2.CascadeClassifier('haarcascade_mcs_leftear.xml')
    leftear_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_leftear.xml')
    rightear_cascade = cv2.CascadeClassifier('haarcascade_mcs_rightear.xml')
    rightear_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_rightear.xml')
    
    #face_cascade = cv2.CascadeClassifier("../../opencv-2.4.9/data/haarcascades/haarcascade_frontalface_default.xml") 
    #eye_cascade = cv2.CascadeClassifier('../../opencv-2.4.9/data/haarcascades/haarcascade_eye.xml') 
    
    img = cv2.imread('22.jpg')
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    #脸
    faces = face_cascade.detectMultiScale(gray, 1.2, 3)
    for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x,y),(x+w, y+h), (255, 0, 0), 2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    #眼睛
    eyes = eye_cascade.detectMultiScale(roi_gray, 1.2, 3)
    for (ex,ey,ew,eh) in eyes:
    cv2.rectangle(roi_color, (ex, ey),(ex+ew, ey+eh), (0, 255, 0), 2)
    #嘴巴
    mouth = mouth_cascade.detectMultiScale(roi_gray, 1.5,5)
    for (mx, my, mw, mh) in mouth:
    cv2.rectangle(roi_color, (mx, my), (mx+mw, my+mh), (0, 0, 255), 2)
    #鼻子
    nose = nose_cascade.detectMultiScale(roi_gray, 1.2, 5)
    for (nx, ny, nw, nh) in nose:
    cv2.rectangle(roi_color, (nx, ny), (nx+nw, ny+nh), (255, 0, 255), 2)
    
    #耳朵
    leftear = leftear_cascade.detectMultiScale(roi_gray,1.01, 2)
    for (lx, ly, lw, lh) in leftear:
    cv2.rectangle(roi_color, (lx, ly), (lx+lw, ly+lh), (0, 0, 0), 2)
    
    rightear = rightear_cascade.detectMultiScale(roi_gray, 1.01, 2)
    for (rx, ry, rw, rh) in rightear:
    cv2.rectangle(roi_color, (rx, ry), (rx+rw, ry+rh), (0, 0, 0), 2)
    
    cv2.imshow('img', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    上效果图:

     

    参考博客:

    1. 点击打开链接

    2.点击打开链接



  • 相关阅读:
    注意事项
    org.apache.jsp.index_jsp
    部署 Web 项目 到 Deepin
    WEB项目打包
    IDEA开启JSP热部署
    16.【转载】Swagger2文档插件:常用注解及属性说明
    8.【原创】Spring Mvc配置Swagger+swagger-bootstrap-ui生成日志服务
    7.【原创】Spring Mvc自定义DispatcherServlet类,处理404异常
    12.【原创】ES6常用的新语法
    15.【转载】使用TortoiseGit,设置ssh方式连接git仓库
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11641544.html
Copyright © 2011-2022 走看看