#coding=utf-8 import cv2 #cv2.__version__==3.2.0 import numpy as np #Detect face # face_cascade =cv2.CascadeClassifier('./data/haarcascades/haarcascade_frontalface_alt.xml') # scaling_factor = 1 # img = cv2.imread('peple.bmp', cv2.IMREAD_ANYCOLOR) # frame = cv2.resize(img, None, fx=scaling_factor, fy=scaling_factor, interpolation=cv2.INTER_AREA) # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # face_rects = face_cascade.detectMultiScale(gray, 1.3, 5) # for (x,y,w,h) in face_rects: # cv2.rectangle(frame, (x,y), (x+w,y+h), (0,255,0), 1) # cv2.imshow('Face Detector', frame) # cv2.waitKey() #detect eye face_cascade =cv2.CascadeClassifier('./data/haarcascades/haarcascade_frontalface_alt.xml') eye_cascade = cv2.CascadeClassifier('./data/haarcascades/haarcascade_eye.xml') if face_cascade.empty(): raise IOError('Unable to load the face cascade classifier xml file') scaling_factor = 1 img = cv2.imread('peple.bmp', cv2.IMREAD_ANYCOLOR) frame = cv2.resize(img, None, fx=scaling_factor, fy=scaling_factor, interpolation=cv2.INTER_AREA) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: print(x,y,w,h) cv2.rectangle(frame, (x,y), (x+w,y+h), (0,255,0), 1) roi_gray = gray[y:y+h, x:x+w] roi_color = frame[y:y+h, x:x+w] eyes = eye_cascade.detectMultiScale(roi_gray) for (x_eye,y_eye,w_eye,h_eye) in eyes: print('eye:',x_eye,y_eye,w_eye,h_eye) center = (int(x_eye + 0.5*w_eye), int(y_eye + 0.5*h_eye)) radius = int(0.3 * (w_eye + h_eye)) color = (0, 255, 0) thickness = 3 cv2.circle(roi_color, center, radius, color, thickness) cv2.imshow('Eye Detector', frame) cv2.waitKey()
python opencv cv2 基础操作3 CascadeClassifier
最新推荐文章于 2023-10-10 17:03:12 发布