栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

AI之五官检测

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701138.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号