2016-06-14 2 views
0

я этот кодРаспознавание лица на видео с помощью питона

import cv2 
import sys 

# Get user supplied values 
imagePath = sys.argv[1] 
cascPath = sys.argv[2] 

# Create the haar cascade 
faceCascade = cv2.CascadeClassifier(cascPath) 

# Read the image 
image = cv2.imread(imagePath) 
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Detect faces in the image 
faces = faceCascade.detectMultiScale(
    gray, 
    scaleFactor=1.1, 
    minNeighbors=5, 
    minSize=(30, 30), 
    flags = cv2.cv.CV_HAAR_SCALE_IMAGE 
) 

print "Found {0} faces!".format(len(faces)) 

# Draw a rectangle around the faces 
for (x, y, w, h) in faces: 
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) 

cv2.imshow("Faces found", image) 
cv2.waitKey(0) 

, который используется для обнаружения лица и сделать прямоугольник вокруг них, используя свой кулачок. Я хочу взять обнаруженное лицо в качестве изображения и сохранить его в папке /test/1.jpg с таким же размером прямоугольника .. , чтобы сравнить его с сохраненными фотографиями .. и получить имя человека , как можно Что происходит?

ответ

0

Вот способ сохранить изображение

for (x, y, w, h) in faces: 
    if(x<0 and y<0): 
     face= frame[ 0:h, 0:h,:] 
    elif(y<0): 
     face= frame[ 0:0+h, x:w,:] 
    elif(x<0): 
     face= frame[ y:h, 0:0+w,:] 
    else: 
     face= frame[ y:h, x:w,:] 
cv2.imwrite("folder /test/1.jpg", face) 
Смежные вопросы