diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceClient.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceClient.java index 951a812..b80fff7 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceClient.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceClient.java @@ -34,11 +34,12 @@ import com.microsoft.projectoxford.vision.contract.AnalysisInDomainResult; import com.microsoft.projectoxford.vision.contract.AnalysisResult; -import com.microsoft.projectoxford.vision.contract.HandwritingRecognitionOperationResult; -import com.microsoft.projectoxford.vision.contract.HandwritingRecognitionOperation; +import com.microsoft.projectoxford.vision.contract.TextRecognitionOperationResult; +import com.microsoft.projectoxford.vision.contract.TextRecognitionOperation; import com.microsoft.projectoxford.vision.contract.Model; import com.microsoft.projectoxford.vision.contract.ModelResult; import com.microsoft.projectoxford.vision.contract.OCR; +import com.microsoft.projectoxford.vision.contract.TextRecognitionMode; import com.microsoft.projectoxford.vision.rest.VisionServiceException; import java.io.IOException; @@ -67,11 +68,11 @@ public interface VisionServiceClient { public OCR recognizeText(InputStream stream, String languageCode, boolean detectOrientation) throws VisionServiceException, IOException; - public HandwritingRecognitionOperation createHandwritingRecognitionOperationAsync(String url) throws VisionServiceException; + public TextRecognitionOperation createTextRecognitionOperationAsync(String url, TextRecognitionMode mode) throws VisionServiceException; - public HandwritingRecognitionOperation createHandwritingRecognitionOperationAsync(InputStream stream) throws VisionServiceException, IOException; + public TextRecognitionOperation createTextRecognitionOperationAsync(InputStream stream, TextRecognitionMode mode) throws VisionServiceException, IOException; - public HandwritingRecognitionOperationResult getHandwritingRecognitionOperationResultAsync(String uri) throws VisionServiceException; + public TextRecognitionOperationResult getTextRecognitionOperationResultAsync(String uri) throws VisionServiceException; public byte[] getThumbnail(int width, int height, boolean smartCropping, String url) throws VisionServiceException, IOException; diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceRestClient.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceRestClient.java index d46f020..4334e22 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceRestClient.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/VisionServiceRestClient.java @@ -35,8 +35,9 @@ import com.google.gson.Gson; import com.microsoft.projectoxford.vision.contract.AnalysisInDomainResult; import com.microsoft.projectoxford.vision.contract.AnalysisResult; -import com.microsoft.projectoxford.vision.contract.HandwritingRecognitionOperationResult; -import com.microsoft.projectoxford.vision.contract.HandwritingRecognitionOperation; +import com.microsoft.projectoxford.vision.contract.TextRecognitionMode; +import com.microsoft.projectoxford.vision.contract.TextRecognitionOperationResult; +import com.microsoft.projectoxford.vision.contract.TextRecognitionOperation; import com.microsoft.projectoxford.vision.contract.Model; import com.microsoft.projectoxford.vision.contract.ModelResult; import com.microsoft.projectoxford.vision.contract.OCR; @@ -53,7 +54,7 @@ public class VisionServiceRestClient implements VisionServiceClient { private static final String DEFAULT_REGION = "westus"; - private static final String DEFAULT_API_ROOT = "https://%s.api.cognitive.microsoft.com/vision/v1.0"; + private static final String DEFAULT_API_ROOT = "https://%s.api.cognitive.microsoft.com/vision/v2.0"; private final String apiRoot; private final WebServiceRequest restCall; private Gson gson = new Gson(); @@ -222,38 +223,38 @@ public OCR recognizeText(InputStream stream, String languageCode, boolean detect } @Override - public HandwritingRecognitionOperation createHandwritingRecognitionOperationAsync(String url) throws VisionServiceException { + public TextRecognitionOperation createTextRecognitionOperationAsync(String url, TextRecognitionMode mode) throws VisionServiceException { Map params = new HashMap<>(); - String path = apiRoot + "/RecognizeText?handwriting=true"; + String path = apiRoot + "/RecognizeText?mode=" + mode.toString(); String uri = WebServiceRequest.getUrl(path, params); params.put("url", url); String operationUrl = (String) this.restCall.request(uri, "POST", params, null, false); - HandwritingRecognitionOperation HandwrittenOCR = new HandwritingRecognitionOperation(operationUrl); + TextRecognitionOperation OneOCR = new TextRecognitionOperation(operationUrl); - return HandwrittenOCR; + return OneOCR; } @Override - public HandwritingRecognitionOperation createHandwritingRecognitionOperationAsync(InputStream stream) throws VisionServiceException, IOException { + public TextRecognitionOperation createTextRecognitionOperationAsync(InputStream stream, TextRecognitionMode mode) throws VisionServiceException, IOException { Map params = new HashMap<>(); - String path = apiRoot + "/RecognizeText?handwriting=true"; + String path = apiRoot + "/RecognizeText?mode=" + mode.toString(); String uri = WebServiceRequest.getUrl(path, params); byte[] data = IOUtils.toByteArray(stream); params.put("data", data); String operationUrl = (String) this.restCall.request(uri, "POST", params, "application/octet-stream", false); - HandwritingRecognitionOperation HandwrittenOCR = new HandwritingRecognitionOperation(operationUrl); + TextRecognitionOperation OneOCR = new TextRecognitionOperation(operationUrl); - return HandwrittenOCR; + return OneOCR; } @Override - public HandwritingRecognitionOperationResult getHandwritingRecognitionOperationResultAsync(String uri) throws VisionServiceException { + public TextRecognitionOperationResult getTextRecognitionOperationResultAsync(String uri) throws VisionServiceException { String json = (String) this.restCall.request(uri, "GET", null, null, false); - HandwritingRecognitionOperationResult HandwrittenOCR = this.gson.fromJson(json, HandwritingRecognitionOperationResult.class); + TextRecognitionOperationResult OneOCR = this.gson.fromJson(json, TextRecognitionOperationResult.class); - return HandwrittenOCR; + return OneOCR; } @Override diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextLine.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionLine.java similarity index 91% rename from ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextLine.java rename to ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionLine.java index 5a0fbf3..62a5464 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextLine.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionLine.java @@ -34,19 +34,19 @@ import java.util.ArrayList; import java.util.List; -public class HandwritingTextLine { +public class TextRecognitionLine { - private List words; //words in the line + private List words; //words in the line private String text; //text of text line private ArrayList boundingBox; //bouding box for whole text line, e.g. "boundingBox": [153,579,1310,550,1313,647,156,678]. - public List getWords() { + public List getWords() { return words; } - public void setWords(List words) { + public void setWords(List words) { this.words = words; } diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionMode.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionMode.java new file mode 100644 index 0000000..ee8283a --- /dev/null +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionMode.java @@ -0,0 +1,38 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. +// +// Microsoft Cognitive Services (formerly Project Oxford): https://www.microsoft.com/cognitive-services +// +// Microsoft Cognitive Services (formerly Project Oxford) GitHub: +// https://github.com/Microsoft/Cognitive-Vision-Android +// +// Copyright (c) Microsoft Corporation +// All rights reserved. +// +// MIT License: +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +package com.microsoft.projectoxford.vision.contract; + +public enum TextRecognitionMode { + Handwritten, + Printed +} diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperation.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperation.java similarity index 94% rename from ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperation.java rename to ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperation.java index 85e4d8a..b463fab 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperation.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperation.java @@ -33,9 +33,9 @@ package com.microsoft.projectoxford.vision.contract; //Opreation would be return after request text recognition API, using the operation URL to get recognition result. -public class HandwritingRecognitionOperation { +public class TextRecognitionOperation { - public HandwritingRecognitionOperation(String url) + public TextRecognitionOperation(String url) { this.url =url; } diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperationResult.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperationResult.java similarity index 88% rename from ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperationResult.java rename to ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperationResult.java index d9c5bd8..360dde9 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingRecognitionOperationResult.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionOperationResult.java @@ -33,11 +33,11 @@ package com.microsoft.projectoxford.vision.contract; //result of recognition operation. -public class HandwritingRecognitionOperationResult { +public class TextRecognitionOperationResult { private String status; //status of recogniton result - private HandwritingTextResult recognitionResult; //content of recognition result + private TextRecognitionResult recognitionResult; //content of recognition result public String getStatus() { return status; @@ -47,11 +47,11 @@ public void setStatus(String status) { this.status = status; } - public HandwritingTextResult getRecognitionResult() { + public TextRecognitionResult getRecognitionResult() { return recognitionResult; } - public void setRecognitionResult(HandwritingTextResult recognitionResult) { + public void setRecognitionResult(TextRecognitionResult recognitionResult) { this.recognitionResult = recognitionResult; } } diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextResult.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionResult.java similarity index 88% rename from ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextResult.java rename to ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionResult.java index 9fc0757..b6e3e80 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextResult.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionResult.java @@ -33,15 +33,15 @@ package com.microsoft.projectoxford.vision.contract; import java.util.List; -public class HandwritingTextResult { +public class TextRecognitionResult { - private List lines; //lines in recognition result + private List lines; //lines in recognition result - public List getLines() { + public List getLines() { return lines; } - public void setLines(List lines) { + public void setLines(List lines) { this.lines = lines; } } diff --git a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextWord.java b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionWord.java similarity index 98% rename from ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextWord.java rename to ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionWord.java index b789986..1574518 100644 --- a/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/HandwritingTextWord.java +++ b/ClientLibrary/lib/src/main/java/com/microsoft/projectoxford/vision/contract/TextRecognitionWord.java @@ -34,7 +34,7 @@ import java.util.ArrayList; -public class HandwritingTextWord { +public class TextRecognitionWord { private String text; //text of the world