void DoProcess() { if (!(owner.Value is OpenCVForUnityPlayMakerActions.SVM)) { LogError("owner is not initialized. Add Action \"newSVM\"."); return; } OpenCVForUnity.MlModule.SVM wrapped_owner = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.SVM, OpenCVForUnity.MlModule.SVM>(owner); if (!(samples.Value is OpenCVForUnityPlayMakerActions.Mat)) { LogError("samples is not initialized. Add Action \"newMat\"."); return; } OpenCVForUnity.CoreModule.Mat wrapped_samples = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.Mat, OpenCVForUnity.CoreModule.Mat>(samples); if (!(responses.Value is OpenCVForUnityPlayMakerActions.Mat)) { LogError("responses is not initialized. Add Action \"newMat\"."); return; } OpenCVForUnity.CoreModule.Mat wrapped_responses = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.Mat, OpenCVForUnity.CoreModule.Mat>(responses); if (!(Cgrid.Value is OpenCVForUnityPlayMakerActions.ParamGrid)) { LogError("Cgrid is not initialized. Add Action \"newParamGrid\"."); return; } OpenCVForUnity.MlModule.ParamGrid wrapped_Cgrid = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.ParamGrid, OpenCVForUnity.MlModule.ParamGrid>(Cgrid); storeResult.Value = wrapped_owner.trainAuto(wrapped_samples, layout.Value, wrapped_responses, kFold.Value, wrapped_Cgrid); Fsm.Event(storeResult.Value ? trueEvent : falseEvent); }