实时捕获图像无法提供任何结果(ml kit Vision)

我正在开发一个用于捕获图像并将其转换为文本Firebase的应用程序,证明响应正确,但问题是 不能从实时捕获图像中获取任何文本,但是当我从图库中选择图像文件时,任何解决firebase的解决方案都可以正常工作 视觉.....

 // Getting Image     
 public void ImageFromMediaImage(ByteBuffer buffer,int rotation,Context context) {




    int result;
    switch (rotation) {
        case 0:
            result = FirebaseVisionImageMetadata.ROTATION_0;

            break;
        case 90:
            result = FirebaseVisionImageMetadata.ROTATION_90;
            break;
        case 180:
            result = FirebaseVisionImageMetadata.ROTATION_180;
            break;
        case 270:
            result = FirebaseVisionImageMetadata.ROTATION_270;
            break;
        default:
            result = FirebaseVisionImageMetadata.ROTATION_0;



    }


    Log.i(TAG,"ImageFromMediaImage nn: "+result);
    FirebaseVisionImageMetadata metadata = new FirebaseVisionImageMetadata.Builder()
            .setWidth(280)   // 480x360 is typically sufficient for
           .setHeight(160)  // image recognition

         .setformat(ImageFormat.NV21)
          .build();
    // [END set_metadata]
    // [START image_from_buffer]

  //  Checkimage checkImage =new Checkimage();
 //   checkImage.makeImage(buffer);


  FirebaseVisionImage image = FirebaseVisionImage.fromByteBuffer(buffer,metadata);



   TextRecognizeDetect(image);





}

处理图像

 public void TextRecognizeDetect(final FirebaseVisionImage firebaseVisionImage){
    Log.i(TAG,"TextRecognizeDetect: ");


    detector = FirebaseVision.getInstance().getcloudTextRecognizer();


    // [END set_detector_options_cloud]

    // [START get_detector_cloud]
  //  FirebaseVisionTextRecognizer detector = FirebaseVision.getInstance()
      //      .getcloudTextRecognizer();
    // Or,to change the default settings:
    //   FirebaseVisionTextRecognizer detector = FirebaseVision.getInstance()
    //          .getcloudTextRecognizer(options);
    // [END get_detector_cloud]

    // [START run_detector_cloud]
    detector.processImage(firebaseVisionImage).addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
        @Override
        public void onSuccess(FirebaseVisionText firebaseVisionText) {

          //  stringBuffer =new StringBuffer();


            String resultText =firebaseVisionText.getText();
            Log.i(TAG,"onSuccess: "+resultText);

          //  stringBuffer.append(resultText);

            for (FirebaseVisionText.TextBlock block: firebaseVisionText.getTextBlocks()) {
                String blockText = block.getText();
                Float blockConfidence = block.getconfidence();


                List<RecognizedLanguage> blockLanguages = block.getRecognizedLanguages();
                Point[] blockCornerPoints = block.getcornerPoints();
                Rect blockFrame = block.getBoundingBox();
                for (FirebaseVisionText.Line line: block.getLines()) {
                    String lineText = line.getText();
                    Float lineConfidence = line.getconfidence();
                    Log.i(TAG,"onSuccess: "+lineText);
                    Log.i(TAG,"onSuccess: "+resultText );
                    //            stringBuffer.append("\n " +lineText);
                    List<RecognizedLanguage> lineLanguages = line.getRecognizedLanguages();
                    Point[] lineCornerPoints = line.getcornerPoints();
                    Rect lineFrame = line.getBoundingBox();
                    for (FirebaseVisionText.Element element: line.getElements()) {
                        String elementText = element.getText();
                        Float elementConfidence = element.getconfidence();
                        Log.i(TAG,"onSuccess: "+elementText);
                        Log.i(TAG,"onSuccess: "+resultText );
                        List<RecognizedLanguage> elementLanguages = element.getRecognizedLanguages();
                        Point[] elementCornerPoints = element.getcornerPoints();
                        Rect elementFrame = element.getBoundingBox();
                    }
                }
            }



          TranslateLetter translateLetter=  TranslateLetter.getTranslateLetter();
            translateLetter.TranslateWords(resultText,context);




        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(context,e.getMessage(),Toast.LENGTH_SHORT).show();
        }
    });


}
wangleaishang9 回答:实时捕获图像无法提供任何结果(ml kit Vision)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3145925.html

大家都在问