为了开始我真的很新,我最近使用了vuforia和ar应用程序等等。
现在主要的是, 我想要做的是使用移动应用程序的相机拍摄照片,并在以后用于视觉识别 任何人都可以帮忙解决这个问题。
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 :(得分:0)
重要提示:您绝不应公开发布服务凭据。请从此处删除您的apikey并从服务中删除凭据。您可以为服务实例创建新凭据。
您应该可以使用WebCamTexture访问设备相机。
https://docs.unity3d.com/ScriptReference/WebCamTexture.html
Classify的重载方法采用bytearray数据。签名看起来像
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));
您可以尝试这样的事情(未经测试)
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);
}
}