PCスペック
Windows10 HOME 64bit
メモリ 32GB
プロセッサ Intel Core i7-8700CPU 3.20GHz
Android Studio 3.4.1
デモ用端末(XPERIA OS:7.0 API 24)
APIへ画像を送る際のリクエストで,LanguageHintsを実装することでより高速に文字が認識できるかと思います.
https://stackoverflow.com/questions/47691464/how-to-set-setlanguagehints
こちらの記事を参考に,LanguageHintsを実装してみましたが,
コードの修正前と修正後で,APIにリクエストしてからレスポンスにかかる時間が約1.5秒かかっており,全然時短になりません...
コードの記述内容におかしい点はあったりするのでしょうか??
vision APIに詳しい方,参考にさせてほしいと思っています.
ちなみに↓のコードはprivate Vision.Images.Annotate prepareAnnotationRequest(Bitmap bitmap) throws IOExceptionというメソッド内の該当箇所になります.
↓修正前
java
1// Base64 encode the JPEG JPEGをBase64でエンコードする 2 base64EncodedImage.encodeContent(imageBytes); 3 annotateImageRequest.setImage(base64EncodedImage); 4 5 6 // add the features we want 7 annotateImageRequest.setFeatures(new ArrayList<Feature>() {{ 8 Feature textDetection = new Feature(); 9 //textDetection.setType("TEXT_DETECTION"); 10 textDetection.setType("DOCUMENT_TEXT_DETECTION"); 11 textDetection.setMaxResults(MAX_LABEL_RESULTS); 12 add(textDetection); 13 }}); 14 15 // Add the list of one thing to the request 16 add(annotateImageRequest); 17 }});
↓修正後
java
1// Base64 encode the JPEG JPEGをBase64でエンコードする 2 base64EncodedImage.encodeContent(imageBytes); 3 annotateImageRequest.setImage(base64EncodedImage); 4 5 6 // add the features we want 7 annotateImageRequest.setFeatures(new ArrayList<Feature>() {{ 8 Feature textDetection = new Feature(); 9 //textDetection.setType("TEXT_DETECTION"); 10 textDetection.setType("DOCUMENT_TEXT_DETECTION"); 11 textDetection.setMaxResults(MAX_LABEL_RESULTS); 12 add(textDetection); 13 }}); 14 15//↓この4行で,日本語を優先し,より早く文字認識させたい 16 ImageContext imageContext = new ImageContext(); 17 String [] languages = { "ja" }; 18 imageContext.setLanguageHints(Arrays.asList(languages)); 19 annotateImageRequest.setImageContext(imageContext); 20 21 // Add the list of one thing to the request 22 add(annotateImageRequest); 23 }});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。