Python OpenCV如何从网络摄像头中获取人脸图像数据集?

2024-06-16 12:16:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python3和opencv3。我想从网络摄像头获取相同大小的图像的脸图像数据集。在

这是我的密码。在

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()

我试图调整图像大小到200200,但文件夹数据集中的图像文件大小仍然不同,宽度*高度像素。如何从相同大小的网络摄像机图像中获取人脸图像数据集?在


Tags: 数据图像imageimport网络idimgcv2