轨迹图像显示未知

时间:2019-05-10 09:08:39

标签: python python-3.x opencv tkinter python-imaging-library

创建一个使用Opencv和python 3.7和PIL模块的考勤系统。

它分为3个阶段:-

1)拍摄图像

2)训练图像

3)跟踪图像

在拍摄图像时,它注定要输入一些ID和名称,并且在跟踪图像期间,如果检测到图像,则会将出席者上载到包含名称和ID的CSV文件中。 因此,在跟踪图像期间,即使一切都成功运行并且外壳中没有错误,它始终显示UNKNOWN

我使用dataframs的track Image方法类似于:-

attendance = pd.DataFrame(columns = col_names)    
    while True:
        ret, im =cam.read()
        gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
        faces=faceCascade.detectMultiScale(gray, 1.2,5)    
        for(x,y,w,h) in faces:
            cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)
            Id, conf = recognizer.predict(gray[y:y+h,x:x+w])                                   
            if(conf < 50):
                ts = time.time()      
                date = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d')
                timeStamp = datetime.datetime.fromtimestamp(ts).strftime('%H:%M:%S')
                aa=df.loc[df['Id'] == Id]['Name'].values
                tt=str(Id)+"-"+aa
                attendance.loc[len(attendance)] = [Id,aa,date,timeStamp]

            else:
                Id='Unknown'                
                tt=str(Id)  
            if(conf > 75):
                noOfFile=len(os.listdir("ImagesUnknown"))+1
                cv2.imwrite("ImagesUnknown\Image"+str(noOfFile) + ".jpg", im[y:y+h,x:x+w])            
            cv2.putText(im,str(tt),(x,y+h), font, 1,(255,255,255),2)        
        attendance=attendance.drop_duplicates(subset=['Id'],keep='first')    
        cv2.imshow('im',im) 
        if (cv2.waitKey(1)==ord('q')):
            break

我希望它可以跟踪我的图像并在图像上显示我的名字,但基本上每次都显示未知。.

感谢您提供任何快速帮助。

0 个答案:

没有答案