Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ML工具包和Android Studio在文本识别中返回文本_Java_Android_Android Studio_Firebase Mlkit_Google Mlkit - Fatal编程技术网

Java 使用ML工具包和Android Studio在文本识别中返回文本

Java 使用ML工具包和Android Studio在文本识别中返回文本,java,android,android-studio,firebase-mlkit,google-mlkit,Java,Android,Android Studio,Firebase Mlkit,Google Mlkit,我正在与Android Studio合作开发一个应用程序,一旦拍摄了一张照片,它将返回图像中检测到的文本。我的问题是,每次我拍照时,它在图像中都找不到任何文本(无论文本多么明显)。我遵循了谷歌网站上的ML工具包文档,没有发现我的代码有任何错误。每次拍照时,我的任务都不成功,结果中会打印“文本检测失败”。我做错了什么或者我错过了什么,有什么帮助吗 @Override protected void onActivityResult(int requestCode, int resultCode, @

我正在与Android Studio合作开发一个应用程序,一旦拍摄了一张照片,它将返回图像中检测到的文本。我的问题是,每次我拍照时,它在图像中都找不到任何文本(无论文本多么明显)。我遵循了谷歌网站上的ML工具包文档,没有发现我的代码有任何错误。每次拍照时,我的任务都不成功,结果中会打印“文本检测失败”。我做错了什么或者我错过了什么,有什么帮助吗

@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();
}
@覆盖
受保护的void onActivityResult(int-requestCode、int-resultCode、@Nullable-Intent-data){
super.onActivityResult(请求代码、结果代码、数据);
//提取图像
断言数据!=null;
Bundle image_Bundle=data.getExtras();
位图图像\位图=(位图)图像\ bundle.get(“数据”);
//在应用程序的图像视图中设置图像
设置图像位图(图像位图);
//处理给定的图像以获取文本
//这是使用Firebase ML和Cloud Vision API
//1.从位图obj创建InputImage obj
InputImage input_image=InputImage.fromBitmap(image_bitmap,0);
//2.创建文本识别器obj作为分析图像的入口点
text识别器text_recognizer=TextRecognition.getClient();
//3.对图像执行文本识别
任务=文本识别器。处理(输入图像);
//4.处理任务的成功
task.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
已完成的公共无效(@NonNull任务){
if(任务成功(){
text_view.setText(“检测到的文本”);
}
否则{
text_view.setText(“文本检测失败”);
}
}
});
文本识别器。关闭();
}

}

我们对Firebase ML Kit进行了一些更改,以更好地区分设备上的API和基于云的API。“ML工具包”(不带firebase品牌)包含所有设备上的API。firebase mlkit到mlkit的迁移指南

对于文本识别,由于该模型是从GMSCore下载的,因此在初次使用之前,您可能需要等待该模型首先下载

如果仍然遇到相同的问题,请随时使用logcat跟踪或错误报告