# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import numpy as np
import cv2 as cv
fd = cv.CascadeClassifier('face.xml')
ed = cv.CascadeClassifier('eye.xml')
nd = cv.CascadeClassifier('nose.xml')
vc = cv.VideoCapture(0)
while True:
frame = vc.read()[1]
faces = fd.detectMultiScale(frame, 1.3, 5)
for l, t, w, h in faces:
a, b = int(w / 2), int(h / 2)
cv.ellipse(frame, (l + a, t + b), (a, b), 0,
0, 360, (255, 0, 255), 2)
face = frame[t:t + h, l:l + w]
eyes = ed.detectMultiScale(face, 1.3, 5)
for l, t, w, h in eyes:
a, b = int(w / 2), int(h / 2)
cv.ellipse(face, (l + a, t + b), (a, b), 0,
0, 360, (0, 255, 0), 2)
noses = nd.detectMultiScale(face, 1.3, 5)
for l, t, w, h in noses:
a, b = int(w / 2), int(h / 2)
cv.ellipse(face, (l + a, t + b), (a, b), 0,
0, 360, (255, 0, 0), 2)
cv.imshow('VideoCapture', frame)
if cv.waitKey(33) == 27: # 30 fps
break
vc.release()
cv.destroyAllWindows()
python视频抓取脸鼻子,眼睛
最新推荐文章于 2024-04-12 23:43:33 发布