使用ml工具包和android studio在文本识别中返回文本

nkoocmlb  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(399)

我正在与androidstudio合作开发一个应用程序,一旦拍摄了一张照片,它将返回图像中检测到的文本。我的问题是,每次我拍一张照片,它都找不到图像中的任何文字(不管文字有多明显)。我关注了google网站上的mlkit文档,没有发现我的代码有任何问题。每次我拍一张照片,我的任务都不成功,“文本检测失败”会打印到结果中。对我做错的事或我遗漏的事有什么帮助吗?

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // extract image
    assert data != null;
    Bundle image_bundle = data.getExtras();
    Bitmap image_bitmap = (Bitmap) image_bundle.get("data");

    // set image in image_view of application
    image_view.setImageBitmap(image_bitmap);

    // process the given image to get the text
    // this is using Firebase ML and Cloud Vision API

    // 1. create InputImage obj from Bitmap obj
    InputImage input_image = InputImage.fromBitmap(image_bitmap, 0);
    // 2. create TextRecognizer obj as entry point to analyzing image
    TextRecognizer text_recognizer = TextRecognition.getClient();
    // 3. perform text recognition on the image
    Task<Text> task = text_recognizer.process(input_image);
    // 4. handle the success of the task
    task.addOnCompleteListener(new OnCompleteListener<Text>() {
        @Override
        public void onComplete(@NonNull Task<Text> task_) {
            if (task_.isSuccessful()) {
                text_view.setText("Text Detected");
            }
            else {
                text_view.setText("Text Detection Failed");
            }
        }
    });

    text_recognizer.close();
}

}

mftmpeh8

mftmpeh81#

我们对firebase ml工具包做了一些更改,以便更好地区分设备上的API和基于云的API。”ml kit”(不带firebase品牌)包含所有设备上的api。以下是从firebase mlkit到mlkit的迁移指南。
对于文本识别,由于模型是从gmscore下载的,因此在初次使用之前,您可能需要先等待模型被下载。
如果您仍然遇到相同的问题,可以使用logcat跟踪或bugreport报告bug。

相关问题