Как показать текст только с самой последней картинки? - PullRequest
0 голосов
/ 02 февраля 2020

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

    //gets data for user image selected.. 
    @Override
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == GALLERY_PICK && resultCode == RESULT_OK && data != null) {
            selectedImageUri = data.getData();

        }

        if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);

            if (resultCode == RESULT_OK) {
                selectedImageUri = result.getUri();


//                Glide
//                        .with(getApplicationContext())
//                        .load(selectedImageUri)
//                        .into(imageView);


                Bitmap bitmap = null;
                try {
                    bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
                } catch (IOException e) {
                    e.printStackTrace();
                }


                Frame imageFrame = new Frame.Builder()

                        .setBitmap(bitmap)                 // your image bitmap
                        .build();

                String imageText = "";



                 textBlocks = textRecognizer.detect(imageFrame);

                for (int i = 0; i < textBlocks.size(); i++) {
                    //textblock is a sparse array..
                    TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i));
                    resultsString.append(textBlock.getValue());






                }
                resultTv.setText(resultsString);


            }
        }
...