private void CleanAHM() { lock (mutex) { if (_AHMBackFeature != null) { CvImageWrapper.ReleaseImage(_AHMBackFeature); _AHMBackFeature = null; } if (_AHMCurFeature != null) { CvImageWrapper.ReleaseImage(_AHMCurFeature); _AHMCurFeature = null; } if (_AHMRealtimeObs != null) { CvImageWrapper.ReleaseImage(_AHMRealtimeObs); _AHMRealtimeObs = null; } if (cameraMouseAssists != null) { for (int i = 0; i < NumberOfTrackingPoints; i++) { if (cameraMouseAssists[i] != null) { cameraMouseAssists[i].Dispose(); cameraMouseAssists[i] = null; } } } if (ahmSetup != null) { ahmSetup.Clean(); ahmSetup = null; } } }
private void StartAHMSetup() { lock (mutex) { for (int i = 0; i < NumberOfTrackingPoints; i++) { if (cameraMouseAssists[i] != null) { cameraMouseAssists[i].Dispose(); cameraMouseAssists[i] = null; } cameraMouseAssists[i] = new AHMCameraMouseAssist(); } /* * if (setupType.Equals(AHMSetupType.KeyPress)) * ahmSetup = new AHMKeyPressSetup(); * else if (setupType.Equals(AHMSetupType.Movement30Sec)) * ahmSetup = new AHMRectangleSetup(30, mouseControlModuleStandard); * else if (setupType.Equals(AHMSetupType.Movement45Sec)) * ahmSetup = new AHMRectangleSetup(45, mouseControlModuleStandard); * else if (setupType.Equals(AHMSetupType.Movement60Sec)) * ahmSetup = new AHMRectangleSetup(60, mouseControlModuleStandard); * else if (setupType.Equals(AHMSetupType.MovementInfinite)) * ahmSetup = new AHMRectangleSetup(0, mouseControlModuleStandard); * else if (setupType.Equals(AHMSetupType.Timing15Sec)) */ ahmSetup = new AHMTimingSetup(10); ahmSetup.NumTemplates = numTemplates; ahmSetup.TrackingSuiteAdapter = trackingSuiteAdapter; //ahmSetup.FinishedSetup = SetupFinished; ahmSetup.ImageSize = imageSize; ahmSetup.ObsSize = obsSize; ahmSetup.RatioVideoInputToMaxOutput = trackingSuiteAdapter.GetRatioInputToOutput()[0]; ahmSetup.Init(NumberOfTrackingPoints); } }