我正在使用Microsoft视觉 api 从图像中读取文本。它与我的三星手机(操作系统:Android M(,联想K4 Note(操作系统:Android M(一起工作。
我还有另一部夏普AQUOS(操作系统:牛轧糖(的手机。在此手机中,文本识别失败。视觉 api 返回此异常,
视觉服务异常:执行开机自检请求时出错!收到的错误代码:400
有人遇到过这个问题吗?请给我一个解决方案。
我的代码在下面给出。
Bitmap bitmap = CustomCameraStore.getInstance().getBitmap1();
ByteArrayOutputStream output = new ByteArrayOutputStream(bitmap.getByteCount());
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
ByteArrayInputStream inputStream = new ByteArrayInputStream(output.toByteArray());
OCR ocr = visionClient.recognizeText(inputStream, LanguageCodes.AutoDetect, true);
String result = gsonObject.toJson(ocr);
我已经找到了我问题的原因。此异常是由于我发布到视觉 API 的图像尺寸较大而导致的。我在这个博客的帮助下达到了这一点,链接如下, https://westus.dev.cognitive.microsoft.com/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fc
我减少了压缩位图的质量变量。下面显示了代码。
Bitmap bitmap = CustomCameraStore.getInstance().getBitmap1();
ByteArrayOutputStream output = new ByteArrayOutputStream(bitmap.getByteCount());
bitmap.compress(Bitmap.CompressFormat.JPEG, 70, output);
ByteArrayInputStream inputStream = new ByteArrayInputStream(output.toByteArray());
OCR ocr = visionClient.recognizeText(inputStream, LanguageCodes.AutoDetect, true);
String result = gsonObject.toJson(ocr);
在没有任何评论的情况下对这个问题投了反对票,这真的很可悲。反正不用担心。我把这个答案放在任何可能有帮助的人身上。