Живой захват изображения не дает никакого результата (мл комплект Vision) - PullRequest
1 голос
/ 07 ноября 2019

Я работаю над приложением, которое используется для захвата изображения и его преобразования в текстовую базу данных, что обеспечивает правильный ответ, но проблема не в том, чтобы получить какой-либо текст из живого захвата изображения, но когда я выбираю файл изображения из галереи, он работаетоштрафовать любое решение, чтобы решить проблему с огненной базой .....

 // 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();
        }
    });


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...