Python OpenCV如何从网络摄像头获取相同尺寸图像的人脸图像数据集?

时间:2017-10-25 19:42:36

标签: python opencv image-processing image-resizing

我使用Python 3和OpenCV 3.我想从网络摄像头获取相同大小的图像的人脸图像数据集。

这是我的代码。

import cv2
import numpy as np

faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml');
cam=cv2.VideoCapture(0);

id=input('enter user id')
sampleNum=0;

while(True):
    ret,img=cam.read();
    resize_image = cv2.resize(img, (200,200), interpolation=cv2.INTER_CUBIC)  # Resize to same size

    gray=cv2.cvtColor(resize_image,cv2.COLOR_BGR2GRAY)   
    faces=faceDetect.detectMultiScale(gray,1.3,5);

    for(x,y,w,h) in faces:
        sampleNum=sampleNum+1
        cv2.imwrite("dataSet/User."+str(id)+"."+str(sampleNum) + ".jpg", gray[y:y+h,x:x+w])
        cv2.rectangle(resize_image,(x,y),(x+w, y+h), (0,255,0) , 2)
        cv2.waitKey(100)

    cv2.imshow("Face", resize_image);
    cv2.waitKey(1)
    if(sampleNum>20):
        break;

cam.release()
cv2.destroyAllWindows()

我尝试将图像大小调整为200,200,但文件夹dataSet中的图像文件仍然是不同大小的宽度*高度像素。如何从网络摄像头获取相同尺寸图像的人脸图像数据集?

0 个答案:

没有答案