2017-09-05 12 views
1

Onclassify 호출의 결과를 사용 가능한 형식으로 가져 오려고합니다. classResult.m_class를 Text 객체를 업데이트하거나 변수에 저장하는 등의 사용 가능한 형식으로 반환하는 방법을 생각할 수 없습니다.IBM Watson Unity 3d 시각적 인식 SDK : 분류 자 ​​출력 결과 구문 분석

여러 사람 또는 단일 분류 자의 classResult.m_class 결과를 나중에 조치를 취하거나 다른 기능에 전달할 수있는 변수로 전달하는 좋은 방법을 조언 해 줄 수 있습니까?

private void OnClassify(ClassifyTopLevelMultiple classify, string data) 
{ 
    if (classify != null) 
    { 
     Log.Debug("WebCamRecognition", "images processed: " + classify.images_processed); 
     foreach (ClassifyTopLevelSingle image in classify.images) 
     { 

      Log.Debug("WebCamRecognition", "\tsource_url: " + image.source_url + ", resolved_url: " + image.resolved_url); 
      foreach (ClassifyPerClassifier classifier in image.classifiers) { 

       Log.Debug ("WebCamRecognition", "\t\tclassifier_id: " + classifier.classifier_id + ", name: " + classifier.name); 
       foreach (ClassResult classResult in classifier.classes) { 
        Log.Debug ("WebCamRecognition", "\t\t\tclass: " + classResult.m_class + ", score: " + classResult.score + ", type_hierarchy: " + classResult.type_hierarchy); 
       } 
      } 
     } 
    } 
    else 
    { 
     Log.Debug("WebCamRecognition", "Classification failed!"); 
    } 
} 

답변

2

ClassifyTopLevelMultiple 개체는 속성의 imagesClassifyTopLevelSingle 오브젝트의 배열을 포함한다. 각각의 ClassifyTopLevelSingle 개체에는 사용자 지정 분류기 당 결과를 제공하는 ClassifyPerClassifier 개체 배열이 있습니다. 각 ClassifyPerClassifier 개체는 classscore을 포함하는 ClassResult 개체 목록을 포함합니다.

private void OnClassifyGet(ClassifyTopLevelMultiple classify, string data) 
{ 
    string class = classify.images[0].classifiers[0].classes[0].m_class; 
    string classScore= classify.images[0].classifiers[0].classes[0].score; 
} 

모든 이미지를 반복합니다 게시 예제 코드, 분류와 클래스가 모두 나열 :

당신은 클래스와 같은 각 배열의 첫 번째 항목에 대한 각 결과에 대한 점수를 뽑을 수 각 ClassifyTopLevelMultiple 결과에 따라 학급 및 점수가 결정됩니다.

또한 Watson Unity SDK의 updated version이 있다는 점에 유의해야합니다. 프로젝트를 막 시작한 경우 최신 릴리스가 모든 이전 릴리스의 주요 변경 사항이므로 최신 SDK 버전으로 시작하는 것이 좋습니다.

+0

감사합니다. Taj! 나는 새로운 SDK가 있다는 것을 몰랐다. 문서가 업데이트 되었습니까? –

+0

예, 문서가 업데이트되었습니다. – taj

+0

코드 샘플/스 니펫 (ts) (https://github.com/watson-developer-cloud/unity-sdk/tree/develop/Scripts/Services/VisualRecognition/v3)에서 데이터를 참조하고 있지만 호출에서 변수를 선언하지 않습니다. 개인 무효 OnUpdateClassifier (GetClassifiersPerClassifierVerbose 분류 자) { Log.Debug ("ExampleVisualRecognition", "분류 자 결과 업데이트 : {0}", 데이터); } –