使用 Google 的 Mobile Vision 识别静态图像中的文本?
Using Google's Mobile Vision to recognize Text in a static image?
我正在尝试使用 Google 的 Mobile Vision API 编写一个基本的 ocr android 应用程序,但实际上我很难让该应用程序识别文本静态图像。我查看了代码实验室教程、其他人的问题,即每个带有 android-vision 标签的 Whosebug 问题和文档,但我仍然没有任何运气。我知道其他人问过类似的问题,但那里发布的答案不起作用。
这是我的代码的摘录
Bitmap photo = (Bitmap) extras.get("data");
pictureOcrView.setImageBitmap(photo);
Context context = getApplicationContext();
TextRecognizer ocrFrame = new TextRecognizer.Builder(context).build();
Frame frame = new Frame.Builder().setBitmap(photo).build();
if (ocrFrame.isOperational()){
Log.e(TAG, "Textrecognizer is operational");
}
SparseArray<TextBlock> textBlocks = ocrFrame.detect(frame);
for (int i = 0; i < textBlocks.size(); i++) {
TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i));
Log.e(TAG, "something is happening");
}
我不明白这是什么问题。这不像我收到乱码文本,我只是根本没有收到任何文本。当我使用适用于 Codelab 教程的文本图片测试此应用程序时,我什么也没得到。似乎甚至没有创建 textBlock 数组,但我不知道为什么。我知道我已经创建了框架,因为我仍然可以 运行 其他框架方法,如 getHeight 成功,并且 isOperational() 一直返回 true。
对我做错了什么有什么建议吗?
以我为例。当我从相机或画廊获取位图时,该位图方向已旋转。 TextRecognizer 无法检测文本,因为位图已旋转。您必须旋转位图以正确方向。
您可以通过 评论
来旋转图像
我刚刚遇到了同样的问题。问题是您正在处理的图像不是整张照片只是缩略图(通过调用 extras.get("data") 获得)。为了访问完整图像,您需要保存它然后使用它。有关如何执行此操作的详细信息,请参见下方 link:
https://developer.android.com/training/camera/photobasics.html
我正在尝试使用 Google 的 Mobile Vision API 编写一个基本的 ocr android 应用程序,但实际上我很难让该应用程序识别文本静态图像。我查看了代码实验室教程、其他人的问题,即每个带有 android-vision 标签的 Whosebug 问题和文档,但我仍然没有任何运气。我知道其他人问过类似的问题,但那里发布的答案不起作用。
这是我的代码的摘录
Bitmap photo = (Bitmap) extras.get("data");
pictureOcrView.setImageBitmap(photo);
Context context = getApplicationContext();
TextRecognizer ocrFrame = new TextRecognizer.Builder(context).build();
Frame frame = new Frame.Builder().setBitmap(photo).build();
if (ocrFrame.isOperational()){
Log.e(TAG, "Textrecognizer is operational");
}
SparseArray<TextBlock> textBlocks = ocrFrame.detect(frame);
for (int i = 0; i < textBlocks.size(); i++) {
TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i));
Log.e(TAG, "something is happening");
}
我不明白这是什么问题。这不像我收到乱码文本,我只是根本没有收到任何文本。当我使用适用于 Codelab 教程的文本图片测试此应用程序时,我什么也没得到。似乎甚至没有创建 textBlock 数组,但我不知道为什么。我知道我已经创建了框架,因为我仍然可以 运行 其他框架方法,如 getHeight 成功,并且 isOperational() 一直返回 true。
对我做错了什么有什么建议吗?
以我为例。当我从相机或画廊获取位图时,该位图方向已旋转。 TextRecognizer 无法检测文本,因为位图已旋转。您必须旋转位图以正确方向。
您可以通过
我刚刚遇到了同样的问题。问题是您正在处理的图像不是整张照片只是缩略图(通过调用 extras.get("data") 获得)。为了访问完整图像,您需要保存它然后使用它。有关如何执行此操作的详细信息,请参见下方 link: https://developer.android.com/training/camera/photobasics.html