private void OnClassify(ClassifyTopLevelMultiple classify, string data) { processingImage = false; if (classify != null) { Debug.Log("WebCamRecognition" + " images processed: " + classify.images_processed); //foreach (ClassifyTopLevelSingle image in classify.images) { if (classify.images_processed >= 1 && classify.images.Length >= 1) { ClassifyTopLevelSingle image = classify.images [0]; Debug.Log("WebCamRecognition" + " \tsource_url: " + image.source_url + ", resolved_url: " + image.resolved_url); CardClassResult result = new CardClassResult(); foreach (ClassifyPerClassifier classifier in image.classifiers) { Debug.Log("WebCamRecognition" + " \t\tclassifier_id: " + classifier.classifier_id + ", name: " + classifier.name); if (classifier.name == "suicide_king") { foreach (ClassResult classResult in classifier.classes) { result.AddResult(classResult.m_class, classResult.score); Debug.Log("WebCamRecognition" + " \t\t\tclass: " + classResult.m_class + ", score: " + classResult.score + ", type_hierarchy: " + classResult.type_hierarchy); } } InferWatsonResult(result); } } else { tryAgainGameObj.SetActive(true); } } } else { Debug.Log("WebCamRecognition" + " Classification failed!"); tryAgainGameObj.SetActive(true); } }
private void InferWatsonResult(CardClassResult result) { int maxIndex = 0; double maxScore = 0; for (int i = 0; i < result.QueenScore.Length; ++i) { if (result.QueenScore [i] > maxScore) { maxIndex = i; maxScore = result.QueenScore [i]; } } if (maxScore > 0) { EnableQueen((QueenIndex)maxIndex); } // result.QueenScore result = null; }