android - Microsoft Vision Api - VisionServiceException:执行 POST 请求时出错!收到错误代码:400
问题描述
我正在使用 Microsoft vision api 从图像中读取文本。它适用于我的三星手机(操作系统:Android M)、联想 K4 Note(操作系统:Android M)。
我还有一部夏普 AQUOS(操作系统:牛轧糖)的手机。在这款手机中,文本识别失败。视觉 api 返回此异常,
VisionServiceException:执行 POST 请求时出错!收到错误代码: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);
在没有任何评论的情况下否决了这个问题真的很可悲。无论如何不用担心。我将这个答案提供给任何可能有帮助的人。
推荐阅读
- flutter - changeNotifierProxyProvider ,2 位置参数(S)预期
- python - 将大型数据集加载到 python 中的最快方法
- kotlin - 访问接口类型变量的实现属性
- r - 拆分列中的字符串并作为新行插入
- flutter - Flutter CupertinoPicker UI 中断,子项显示不正确
- javascript - 如何将来自 URL(具有不同来源)的图像加载到 File 对象中?
- .net-core - 如何将 Log4Net 日志发送到 Application Insights for .NET Core 3.1 Web 应用程序?
- python - 当 .loc 到不存在的特定列时,熊猫返回整个数据框
- android - 创建我的应用程序目录并将文件存储在 Android/media/com.mypackage
- .net - .NET 解决错误的影子复制路径