Esempio n. 1
0
        public void DetectFaceLandmarks(OpenCvSharp.Mat inputColorImage, double threshold)
        {
            if (IsEnabled == false)
            {
                return;
            }
            Trace.Assert(inputColorImage != null);
            Elapsed.Restart();

            Image.SetBitmap(inputColorImage.ToBitmap());
            FaceLandmarkArray = DlibFaceLandmark.DetectFaceLandmarks(Image, threshold);
            DetectedFaceRects = FaceLandmarkArray.Select(e => new OpenCvSharp.Rect(e.Rect.X, e.Rect.Y, e.Rect.Width, e.Rect.Height));

            Elapsed.Stop();
            var fps = (1000.0 / (double)Elapsed.ElapsedMilliseconds);

            FpsFiltered = 0.7 * FpsFiltered + 0.3 * fps;
        }
Esempio n. 2
0
 protected virtual void Dispose(bool disposing)
 {
     if (disposed)
     {
         return;
     }
     if (disposing)
     {
         // dispose managed objects, and dispose objects that implement IDisposable
         if (DlibFaceLandmark != null)
         {
             DlibFaceLandmark.Dispose(); DlibFaceLandmark = null;
         }
         if (Image != null)
         {
             Image.Dispose(); Image = null;
         }
     }
     // release any unmanaged objects and set the object references to null
     disposed = true;
 }