Exemplo n.º 1
0
                #总帧数+1
                dA.totalFrame += 1

                #开始时间 计算时间周期 每个时间周期计算一次疲劳状况
                runTime = time.time()
                #print "totalTime:",totalTime
                #如果时间周期结束,进行疲劳判断
                if (totalTime + (errorFrameNum + dA.totalFrame) * 0.004 >= 60):
                    #总帧数
                    print "totalFrameNum:{}".format(dA.totalFrame)
                    print "erroeFrameNum:{}".format(errorFrameNum)
                    print "有效帧数:{}".format(dA.totalFrame - errorFrameNum)
                    print "特征点定位时间:{}".format(FP_time)
                    #头部运动分析
                    head_time = time.time()
                    dA.NF = getHeadMovement(headLocation)
                    print "头部状态识别时间:{}".format(time.time() - head_time)
                    print "眼部识别时间:{}".format(eye_time)
                    print "嘴部识别时间:{}".format(mouth_time)

                    #疲劳判断及预警
                    fatigue_time = time.time()
                    judgeFatigueState(dA)
                    print "疲劳识别时间:{}".format(time.time() - fatigue_time)

                    #重置特征参数
                    dA.init()
                    totalTime = 0.0
                    errorFrameNum = 0
                    #计算眼睛连续小于阈值的帧数
                    eyeFrameNum = 0