예제 #1
0
        /* CPU 参数第一次获得的值往往是0,注意! */
        public float getProcessorCpuTime()
        {
            float tmp = cpuProcessorTime.NextValue();

            CPUProcessorTime = (float)(Math.Round((double)tmp, 1));
            // Console.WriteLine("Processor CPU Usage is:" + Convert.ToString(CPUProcessorTime));
            CPUProcessorTimeQueue.Enqueue(CPUProcessorTime);
            return(CPUProcessorTime);
        }
예제 #2
0
        // 活体识别
        public bool BioAssay(FullObjectDetection face, ref QueueFixedLength <double> leftEarQueue, ref QueueFixedLength <double> rightEarQueue, ref QueueFixedLength <double> mouthQueue, ref bool leftEarFlag, ref bool rightEarFlag, ref bool mouthFlag)
        {
            if (!leftEarFlag)
            {
                double leftear = getEar(face, EarEnum.Left);
                // 左眼添加到队列
                leftEarQueue.Enqueue(leftear);
                var leftEarNum = GetqueueMaxAndMin(leftEarQueue);
                if (leftEarNum.Item1 - leftEarNum.Item2 > 0.1)
                {
                    leftEarFlag = true;
                }
            }


            if (!rightEarFlag)
            {
                double rightear = getEar(face, EarEnum.Right);
                // 右眼添加到队列
                rightEarQueue.Enqueue(rightear);
                var rightEarNum = GetqueueMaxAndMin(rightEarQueue);
                if (rightEarNum.Item1 - rightEarNum.Item2 > 0.1)
                {
                    rightEarFlag = true;
                }
            }


            if (!mouthFlag)
            {
                double mouth = getEar(face, EarEnum.Mouth);
                // 嘴巴添加到队列
                mouthQueue.Enqueue(mouth);
                var mouthEarNum = GetqueueMaxAndMin(mouthQueue);
                if (mouthEarNum.Item1 - mouthEarNum.Item2 > 0.08)
                {
                    mouthFlag = true;
                }
            }

            Console.WriteLine(leftEarFlag + ":" + rightEarFlag + ":" + mouthFlag);
            if (leftEarFlag && rightEarFlag && mouthFlag)
            {
                return(true);
            }
            return(false);
        }
예제 #3
0
 public float getMemAvailable()
 {
     MEMAvailable = memAvailable.NextValue();
     MEMAvailableQueue.Enqueue(MEMAvailable);
     return(MEMAvailable);
 }