
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)