使用Google的移动视觉识别静态图像中的文字?

我正在尝试使用Google的Mobile Vision API编写基本的ocr android应用程序,但实际上很难让应用程序识别静态图像中的文本。 我已经浏览了codelabs教程,其他人的问题,即android-vision标签和文档的每一个stackoverflow问题,但我仍然没有任何运气。 我知道有人问过类似的问题,但在那里发布的答案不起作用。

这是我的代码的摘录

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。

任何建议我做错了什么?


我刚刚有同样的问题。 问题是,你正在处理的图像不是整张照片只是一个缩略图(通过调用extras.get(“数据”)得到)。 为了访问完整的图像,你需要保存并使用它。 有关如何做到这一点的详细信息可以在以下链接找到:https://developer.android.com/training/camera/photobasics.html


就我而言。 当我从相机或图库获取位图时,该位图方向已被旋转。 由于位图旋转,TextRecognizer无法检测文本。 您必须旋转位图以正确定位。

您可以使用此评论来旋转图片

链接地址: http://www.djcxy.com/p/36885.html

上一篇: Using Google's Mobile Vision to recognize Text in a static image?

下一篇: modelr: Fitting multiple models with resampled data