2

複数の分類子に対して画像を分類できるこのcurlコマンドをAPIドキュメントで見つけました。

    curl -u "{username}":"{password}" \
-X POST \
-F "images_file=@batch1.zip" \
-F "classifier_ids=<classifierlist.json" \
"https://gateway.watsonplatform.net/visual-recognition-beta/api/v2/classify?version=2015-12-02"

私はワトソンの視覚認識サービスを使用してアンドロイド プログラムに取り組んでいるので、Java でこれを行うことが可能かどうか疑問に思いました。

ありがとうございました

4

2 に答える 2

4

このチュートリアルを使用して、Java 環境を設定します

https://developer.ibm.com/recipes/tutorials/bluemix-watson-apis-quickstart-using-java-sdk/

次に、Java コードを使用して複数の分類子を使用する方法を示すこの他のチュートリアルを見てください。

https://developer.ibm.com/recipes/tutorials/estimate-a-childs-age-based-on-photos-using-watson-visual-recognition/

簡単に言えば、コードは次のようになります

ステップ #1 - 分類子を作成する

 VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2015_12_02);
 service.setUsernameAndPassword("*******", "********");

 File p1 = new File("/home/leoks/Desktop/models/pos2010-2011.zip");
 File n1 = new File("/home/leoks/Desktop/models/pos2014-2015.zip");
 VisualClassifier c1 = service.createClassifier("2010", p1, n1);

 File p3 = new File("/home/leoks/Desktop/models/pos2014-2015.zip");
 File n3 = new File("/home/leoks/Desktop/models/pos2010-2011.zip");
 VisualClassifier c3 = service.createClassifier("2014", p3, n3);

System.out.println(service.getClassifiers());

ステップ #2 - それらを使用する

File image = new File("...");

 VisualClassifier vc1 = new VisualClassifier("2010_633980596");
 VisualClassifier vc2 = new VisualClassifier("2014_450835300");
 VisualClassification result = service.classify(image, vc1,vc2);
 System.out.println(result);

画像が分類器によって識別された場合、スコアが返されます。それ以外の場合、回答は返されません。例えば

{
 "images": [
 {
 "image": "2012.jpg",
 "scores": [
 {
 "classifier_id": "2010_633980596",
 "name": "2010",
 "score": 0.992153
 },
 {
 "classifier_id": "2014_450835300",
 "name": "2014",
 "score": 0.833185
 }
 ]
 }
 ]
}

チュートリアルを確認してください。ステップバイステップの手順です。幸運を。

于 2016-04-12T16:49:46.333 に答える