2017-09-16 16 views
-1

私は最近これに新しいことを開始するために、arアプリケーションなどのためにvuforiaを使っています。Visual Recognitionでのカメラの使用UnityのIBM Watson

今のところ主に、 私は何をしようとしているのは、写真を撮って後で視覚的認識のためにそれを使用するモバイルアプリケーションのカメラを使用しています 誰でもこれで助けることができます。

using UnityEngine; 
using System.Collections; 
using IBM.Watson.DeveloperCloud.Services.VisualRecognition.v3; 
using IBM.Watson.DeveloperCloud.Logging; 
using IBM.Watson.DeveloperCloud.Utilities; 
using System.Collections.Generic; 
public class neww : MonoBehaviour { 

// Use this for initialization 
void Start() { 
    private string _apikey = "<api-key>"; 
    private string _url = "https://gateway-a.watsonplatform.net/visual- 
recognition/api"; 

    private VisualRecognition _visualRecognition; 
    private string _visualRecognitionVersionDate = "2016-05-20"; 
    private bool _classifyGetTested = false; 
    private bool _classifyPostTested = false; 
    private string _imageURL = "https://upload.wikimedia.org/wikipedia/commons/e/e9/Official_portrait_of_Barack_Obama.jpg"; 
    Log.Debug("ExampleVisualRecognition", "Attempting to get classify via URL"); 
    if (!_visualRecognition.Classify(OnClassifyGet, _imageURL)) 
     Log.Debug("ExampleVisualRecognition", "Classify image failed!"); 
} 
private void OnClassifyGet(ClassifyTopLevelMultiple classify, string data) 
{ 
    Log.Debug("ExampleVisualRecognition", "VisualRecognition - ClassifyGet Response: {0}", data); 
    _classifyGetTested = true; 

} 

private void OnClassifyPost(ClassifyTopLevelMultiple classify, string data) 
{ 
    Log.Debug("ExampleVisualRecognition", "VisualRecognition - ClassifyPost Response: {0}", data); 
    _classifyPostTested = true; 
} 
// Update is called once per frame 
void Update() { 

} 
} 
+0

ようこそような何かを試すことができ

bool Classify(OnClassify callback, byte[] imageData, string[] owners = default(string[]), string[] classifierIDs = default(string[]), float threshold = default(float), string acceptLanguage = "en", string customData = default(string)); 

のように見えます。スタックオーバーフローは無料のコーディングサービスではありません。具体的な問題を表示し、コードをどこに貼りつけて、どこで解決できるかを示します。乾杯。 – wp78de

+0

非常に申し訳ありません!送ります –

答えて

0

重要:サービスの資格情報を公開することは絶対に避けてください。ここからapikeyを削除し、サービスから資格情報を削除してください。サービスインスタンスの新しい資格情報を作成できます。

WebCamTextureを使用してデバイスカメラにアクセスできるはずです。

https://docs.unity3d.com/ScriptReference/WebCamTexture.html

それはByteArrayのデータを取る分類するためのオーバーロードメソッドがあります。署名は、あなたがこの(テストしていない)

public class ExampleClass : MonoBehaviour { 
    public WebCamTexture webcamTexture; 
    public Color32[] data; 
    private string _apikey = "<api>"; 
    private string _url = "https://gateway-a.watsonplatform.net/visual-recognition/api"; 

    private VisualRecognition _visualRecognition; 
    private string _visualRecognitionVersionDate = "2016-05-20"; 

    void Start() 
    { 
     // Instantiate Visual Recognition service 
     Credential credential = new Credential(_apikey, _url); 
     _visualRecognition = new VisualRecognition(); 
     _visualRecognition.VersionDate = _visualRecognitionVersionDate; 

     // Init the WebCamTexture and byte data 
     webcamTexture = new WebCamTexture(); 
     webcamTexture.Play(); 
     data = new Color32[webcamTexture.width * webcamTexture.height]; 

     // Send data to service 
     if (!_visualRecognition.Classify(OnClassify, data)) 
      Log.Debug("ExampleVisualRecognition", "Classify image failed!"); 
    } 

    void Update() 
    { 
     // Get bytearray data from webcam every frame 
     webcamTexture.GetPixels32(data); 
    } 

    private void OnClassify(ClassifyTopLevelMultiple classify, string data) 
    { 
     // Print classify response 
     Log.Debug("Webcam example", "response: {0}", data); 
    } 
}