public void DetectFaces(OpenCvSharp.Mat inputColorImage) { if (IsEnabled == false || DlibDnnMmod == null) { return; } Trace.Assert(inputColorImage != null); Elapsed.Restart(); Image.SetBitmap(inputColorImage.ToBitmap()); DetectedFaceRects = DlibDnnMmod.DetectFaces(Image) .Select(e => new OpenCvSharp.Rect(e.X, e.Y, e.Width, e.Height)); Elapsed.Stop(); var fps = (1000.0 / (double)Elapsed.ElapsedMilliseconds); FpsFiltered = 0.7 * FpsFiltered + 0.3 * fps; }
protected virtual void Dispose(bool disposing) { if (disposed) { return; } if (disposing) { // dispose managed objects, and dispose objects that implement IDisposable if (DlibDnnMmod != null) { DlibDnnMmod.Dispose(); DlibDnnMmod = null; } if (Image != null) { Image.Dispose(); Image = null; } } // release any unmanaged objects and set the object references to null disposed = true; }