AI之五官检测

AI之五官检测,第1张

AI之五官检测

1、人脸检测

#学习Haar 级联检测
#人脸五官检测的使用  脸  

import cv2
import numpy as np

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#读取分类器

img = cv2.imread('22.jpg')#读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#图片灰度化

faces = face_cascade.detectMultiScale(gray, 1.3, 5)#检测

for (x,y,w,h) in faces:
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)#对人脸进行标记
 
cv2.imshow('img',img)#显示上面一顿 *** 作后生成的图
cv2.waitKey(0)#等待按键
cv2.destroyAllWindows()#销毁所有窗口

结果如图:

2、眼睛检测

#学习Haar 级联检测
#人脸五官检测的使用 眼睛  

import cv2
import numpy as np

eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')#读取分类器

img = cv2.imread('22.jpg')#读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#图片灰度化

eyes = eye_cascade.detectMultiScale(gray, 1.3, 5)#检测

for (ex,ey,ew,eh) in eyes:
    cv2.rectangle(img,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)#对眼睛进行标记
 
cv2.imshow('img',img)#显示上面一顿 *** 作后生成的图
cv2.waitKey(0)#等待按键
cv2.destroyAllWindows()#销毁所有窗口

结果如图:

3、鼻子检测

#学习Haar 级联检测
#人脸五官检测的使用 鼻子 

import cv2
import numpy as np

eye_cascade = cv2.CascadeClassifier('haarcascade_mcs_nose.xml')#读取分类器

img = cv2.imread('22.jpg')#读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#图片灰度化

nose = nose_cascade.detectMultiScale(gray, 1.3, 5)#检测

for (nx,ny,nw,nh) in nose:
    cv2.rectangle(img,(nx,ny),(nx+nw,ny+nh),(0,255,0),2)#对鼻子进行标记
 
cv2.imshow('img',img)#显示上面一顿 *** 作后生成的图
cv2.waitKey(0)#等待按键
cv2.destroyAllWindows()#销毁所有窗口

结果如图:

4、嘴巴检测

#学习Haar 级联检测
#人脸五官检测的使用 嘴巴 

import cv2
import numpy as np

mouth_cascade= cv2.CascadeClassifier('haarcascade_mcs_mouth.xml')#读取分类器

img = cv2.imread('22.jpg')#读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#图片灰度化

mouths = mouth_cascade.detectMultiScale(gray, 1.3, 5)#检测

for (mx,my,mw,mh) in mouths:
    img = cv2.rectangle(img,(mx,my),(mx+mw,my+mh),(255,0,0),2)#对嘴巴进行标记
 
cv2.imshow('img',img)#显示上面一顿 *** 作后生成的图
cv2.waitKey(0)#等待按键
cv2.destroyAllWindows()#销毁所有窗口

结果如图:

5、五官集合

#学习Haar 级联检测
#人脸五官检测的使用

import cv2
import numpy as np

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#读取分类器
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
mouth_cascade = cv2.CascadeClassifier('haarcascade_mcs_mouth.xml')
nose_cascade = cv2.CascadeClassifier('haarcascade_mcs_nose.xml')

img = cv2.imread('22.jpg')#读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#图片灰度化

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (fx,fy,fw,fh) in faces:
    img = cv2.rectangle(img,(fx,fy),(fx+fw,fy+fh),(255,0,0),2)#圈出脸
    roi_gray = gray[fy:fy+fh, fx:fx+fw]#获取脸部灰度化图
    roi_color = img[fy:fy+fh, fx:fx+fw]#获取脸部彩图
    
    mouths = mouth_cascade.detectMultiScale(roi_gray, 1.3, 5)
    for (mx,my,mw,mh) in mouths:
        cv2.rectangle(roi_color,(mx,my),(mx+mw,my+mh),(0,0,0),2)
        
    nose = nose_cascade.detectMultiScale(roi_gray, 1.3, 5)
    for (nx,ny,nw,nh) in nose:
        cv2.rectangle(roi_color,(nx,ny),(nx+nw,ny+nh),(0,0,255),2)
        
    eyes = eye_cascade.detectMultiScale(roi_gray, 1.3, 5)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
        
 
cv2.imshow('img',img)#显示上面一顿 *** 作后生成的图
cv2.waitKey(0)#等待按键
cv2.destroyAllWindows()#销毁所有窗口

结果如图:

分类器链接:
链接:https://pan.baidu.com/s/1O3RPFGM7cJsKIv2j8uOTqg
提取码:uxh7

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5701249.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存