почему распознаватель текста не работает? - PullRequest
0 голосов
/ 07 июня 2018

В строке 3 указано, работает ли этот текстовый распознаватель, работает ли распознаватель текста, и когда я запускаю программу на своем планшете asus me371 mg, он больше никогда не включается.Это означает, что распознаватель текста никогда не работает, что мне делать?

TextRecognizer textRecognizer=new TextRecognizer.Builder(getApplicationContext()).build();

if (!textRecognizer.isOperational()) {
    Log.w("MainActivity", "Detector dependencies are not yet available");

} else {
    cameraSource = new CameraSource.Builder(getApplicationContext(), textRecognizer)
            .setFacing(CameraSource.CAMERA_FACING_BACK)
            .setRequestedPreviewSize(600, 400)
            .setRequestedFps(2.0f)
            .setAutoFocusEnabled(true)
            .build();
    cameraView.getHolder().addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            try {
                if (ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                    ActivityCompat.requestPermissions(MainActivity.this,new String[]{android.Manifest.permission.CAMERA},ReqiestCameraPermissionID);
                    return;
                }
                cameraSource.start(cameraView.getHolder());


            }catch (IOException e){e.printStackTrace();}



        }

        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
            cameraSource.stop();

        }
    });
    textRecognizer.setProcessor(new Detector.Processor<TextBlock>() {
        @Override
        public void release() {

        }

        @Override
        public void receiveDetections(Detector.Detections<TextBlock> detections) {
            final SparseArray<TextBlock> items =detections.getDetectedItems();
            if (items.size()!=0){
                textView.post(new Runnable() {
                    @Override
                    public void run() {
                        StringBuilder stringBuilder =new StringBuilder();
                        for (int i =0 ; i<items.size();++i){
                            TextBlock item=items.valueAt(i);
                            stringBuilder.append(item.getValue());
                            stringBuilder.append("\n");
                        }
                        textView.setText(stringBuilder.toString());
                    }
                });
            }


        }
    });
}

1 Ответ

0 голосов
/ 09 июля 2018

попробуйте добавить это в свой AndroidManifest.xml

<application
   android:allowBackup="true"
   android:icon="@mipmap/ic_launcher"
   android:label="@string/app_name"
   android:roundIcon="@mipmap/ic_launcher_round"
   android:supportsRtl="true"
   android:theme="@style/AppTheme">


<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
<meta-data
    android:name="com.google.android.gms.vision.DEPENDENCIES"
    android:value="ocr"/>
...