1

我想将 IBM Watson Visual Recognition 用于我的 android 应用程序并想在 JAVA 中调用 API,但我没有找到任何示例或对 JAVA 中的方法列表的任何引用来使用此服务。您可以看到这里缺少 JAVA 示例。请帮我找到一些合适的例子或对这些方法的任何参考。还请告诉我什么是 bluemix 平台,是否需要使用它才能使用 IBM Watson Visual Recognition?提前致谢!

4

4 回答 4

2

查看Java SDK,尤其是Visual Recognition 示例,它模仿了演示中的用例(此处的节点源代码/训练图像)。

我是 IBM Watson Developer Cloud 的开发人员布道师。

于 2016-05-18T19:22:49.273 回答
1

你需要:

  • 安装Java-SDK 3.3.0
  • 在Bluemix 中创建Visual Recognition服务的一个实例。
  • 使用您在 Bluemix 中创建服务时获得的更新下面的代码片段usernamepassword

代码:

public class VisualRecognitionExample {

  public static void main(String[] args) {
    VisualRecognition service = new VisualRecognition("2016-05-20");
    service.setUsernameAndPassword("<username>", "<password>");

    System.out.println("Classify using all the classifiers");
    options = new ClassifyImagesOptions.Builder()
      .images(new File("car.png"))
      .build();
    result = service.classify(options).execute();
    System.out.println(result);    
  }
}
于 2016-05-19T02:43:48.497 回答
0

查看本教程(https://developer.ibm.com/recipes/tutorials/estimate-a-childs-age-based-on-photos-using-watson-visual-recognition/)。

它使用了一个过时版本的 Watson Java SDK ( https://github.com/watson-developer-cloud/java-sdk ),所以代码可能会发生一些变化,但基本上就是这样。

为了使用 Visual Recognition,您可以使用常规的 bluemix 帐户,因此您可以使用 Watson Visual Recognition API

在此处输入图像描述

更新

使用这个 POM

<dependencies>
    <dependency>
        <groupId>com.ibm.watson.developer_cloud</groupId>
        <artifactId>java-sdk</artifactId>
        <version>3.0.0-RC1</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
</dependencies>
于 2016-05-18T19:59:31.590 回答
0

我首先检查了 curl 并找到了使用 java 的解决方案,您可以使用以下代码:

使用:OkClient3 jar

OkHttpClient client = new OkHttpClient();
            File file = new File(String.valueOf(path));
            RequestBody formBody = new MultipartBody.Builder()
                    .setType(MultipartBody.FORM)
                    .addFormDataPart("image_file", "images.jpeg", RequestBody.create(MediaType.parse("image/jpeg"), file))
                    .build();
            Request request = new Request.Builder().url(new URL("https://gateway-a.watsonplatform.net/visual-recognition/api/v3/collections/{classifier_id}/find_similar?limit=100&api_key=YOUR_API&version=2016-05-20")).post(formBody).build();
            Response response = client.newCall(request).execute(); 
            if (!response.isSuccessful())
                throw new Exception("Unexpected code " + response);
            System.out.println(response.message());
            jsonString = response.body().string().toString();
           System.out.println(jsonString);
于 2017-01-18T05:12:18.900 回答