public FaceSearchFacade(Damany.Imaging.Processors.MotionDetector motionDetector, Damany.Imaging.Processors.PortraitFinder portraitFinder, IEnumerable <Damany.Imaging.Common.IFacePostFilter> facePostFilters, FaceComparer faceComparer, IEventAggregator eventAggregator) { _motionDetector = motionDetector; _portraitFinder = portraitFinder; _facePostFilters = facePostFilters; _eventAggregator = eventAggregator; _faceComparer = faceComparer; MotionQueueSize = 10; Rectangle rectangle = GetRoi(); _portraitFinder.ROI = rectangle; }
public void Test() { var source = new DirectoryFilesCamera(@"z:\", "*.jpg"); source.Initialize(); var motionFrameLogger = new FrameWritter(); var portraitWriter = new PortraitsLogger(@".\Portrait"); portraitWriter.Initialize(); var asyncPortraitWriter = new AsyncPortraitLogger(@".\AsyncPortrait1"); asyncPortraitWriter.Stopped += (o, e) => System.Diagnostics.Debug.WriteLine(e.Value.Message); asyncPortraitWriter.Initialize(); var asyncWriter1 = new AsyncPortraitLogger(@".\asyncport2"); asyncWriter1.Initialize(); var portraitFinder = new PortraitFinder(); portraitFinder.AddListener(asyncPortraitWriter); // portraitFinder.AddListener(portraitWriter); // portraitFinder.AddListener(asyncWriter1); asyncPortraitWriter.Start(); bool running = true; for (int i = 0; i < 25 && running; ++i) { var frame = source.RetrieveFrame(); if (i % 10 == 0) { asyncPortraitWriter.Stop(); portraitFinder.AddListener(asyncPortraitWriter); asyncPortraitWriter.Start(); } } }