Courtney Maroney
Courtney Maroney

Reputation: 90

Watson Visual Recognition API text to string

I know this is probably a stupid question, but I am having a tough time converting the visual recognition from recognizeText into a String that I can use and manipulate.

This is in Java.

Can someone help? It probably has to do with digging through the methods and finding the right combination...

package com.mycompany.app;

import com.ibm.watson.developer_cloud.visual_recognition.v3.VisualRecognition;

import com.ibm.watson.developer_cloud.visual_recognition.v3.model.*;

import java.io.File;
import java.util.concurrent.ExecutionException;
public class App 
{
public static void main( String[] args ) throws ExecutionException, InterruptedException {
    VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_20);
    service.setApiKey("a46d79a8aa20ed4b1ad3bc25a449c15d212d5db7");

    ClassifierOptions p  = new ClassifierOptions.Builder().classifierName("letters").addClass("H", new File("src/pictures/CapitalH.zip")).addClass("h", new File("src/pictures/LowercaseH.zip")).build();

    File f1 = new File("src/pictures/CapitalH.zip");
    File f2 = new File("src/pictures/LowercaseH.zip");
    File f3 = new File("src/pictures/HiM.zip");

    //VisualClassifier c1 = service.createClassifier("H", f1, f2);
    //service.createClassifier(p).execute();
    //VisualClassifier c1 = new VisualClassifier();
    //VisualClass cc1 = (VisualClass) service.createClassifier(p);

    service.createClassifier(p);
    VisualRecognitionOptions ops; //find out how to add classifications for letters to this, then add this to visualClassification

    ClassifyImagesOptions pp = new ClassifyImagesOptions.Builder().images(f3).classifierIds("H").build();

    ClassifyImagesOptions ppp = new ClassifyImagesOptions.Builder().images(f3).build();

    VisualClassification result = service.classify(pp).execute();

    VisualRecognitionOptions now = new VisualRecognitionOptions.Builder().images(f3).build();
    //System.out.println(service.recognizeText(now).execute());

    //System.out.println(service.recognizeText(now));

    RecognizedText t = service.recognizeText(now).execute();
    t = service.recognizeText(now).rx().join();
    String s = service.recognizeText(now).rx().toString();

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



    }
}

Upvotes: 0

Views: 225

Answers (1)

Matt Hill
Matt Hill

Reputation: 1106

After this line, try printing out t:

RecognizedText t = service.recognizeText(now).execute();

You should see the text in a formatted JSON object.

Upvotes: 1

Related Questions