2016-04-14 5 views
0

Я пытаюсь читать текст с изображения, используя приведенный ниже код, но он читает 400 в ответ.чтение текста изображения с помощью google vision api

я сохранил изображение в моей с-диске на локальном компьютере

также я спрятал ключ в коде ниже.

ниже функция я написал для чтения с помощью зрения апи

private static String postingtogoogle() throws Exception { 
    // Base64.encode; 
    String re = ""; 
    String url = "https://vision.googleapis.com/v1/images:annotate?key=mykey"; 
    URL obj = new URL(url); 
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); 
    BufferedImage img = ImageIO.read(new File("C:/a.png")); 
    String imgstr = encodeToString(img, "png"); 

    imgstr = encodeToString(img, "png"); 

    //add reuqest header 
    con.setRequestMethod("POST"); 

    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); 

    String urlParameters = "{\n" 
      + " \"requests\":[\n" 
      + " {\n" 
      + "  \"image\":{\n" 
      + "  \"content\":\"" + imgstr + "\"\n" 
      + "  },\n" 
      + "  \"features\":[\n" 
      + "  {\n" 
      + "   \"type\":\"LABEL_DETECTION\",\n" 
      + "   \"maxResults\":1\n" 
      + "  }\n" 
      + "  ]\n" 
      + " }\n" 
      + " ]\n" 
      + "}"; 

    // Send post request 
    con.setDoOutput(true); 
    DataOutputStream wr = new DataOutputStream(con.getOutputStream()); 
    wr.writeBytes(urlParameters); 
    wr.flush(); 
    wr.close(); 

    BufferedReader in = new BufferedReader(
      new InputStreamReader(con.getInputStream())); 
    String inputLine; 
    StringBuffer response = new StringBuffer(); 

    while ((inputLine = in.readLine()) != null) { 
     response.append(inputLine); 
    } 
    in.close(); 

    re = response.toString(); 

    return re; 
} 

ответ

0

Добавьте эту строку:

con.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); 
Смежные вопросы